You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VSCode中Python if-else语句报错求助

VSCode中Python if-else语句报错求助

嘿,别着急!你的代码报错主要是缩进不规范逻辑小问题导致的,跟编辑器差异关系不大,Python的语法规则是通用的。我帮你拆解下问题:

核心错误原因:

  • 缩进混乱:Python完全靠缩进划分代码块,你原代码里的嵌套ifprint语句缩进没有对齐,导致Pylance无法识别正确的代码结构,所以出现了「Unexpected indentation」「Unindent not expected」这类报错;
  • 重复获取输入:你已经用age = input(...)拿到了用户的年龄,但后面判断时又写了int(input("age")),这会让程序再次弹出输入框,不仅逻辑冗余,还会打乱流程;
  • 代码层级错误elifelse必须和对应的if保持同一缩进级别,内部的执行语句要再缩进一层,不然会被当成独立的代码块。

你的错误信息参考:

[{
"severity": 8,
"message": "Expected expression",
"source": "Pylance",
"startLineNumber": 15,
"startColumn": 1,
"endLineNumber": 15,
"endColumn": 5
},
{
"severity": 8,
"message": "Unexpected indentation",
"source": "Pylance",
"startLineNumber": 16,
"startColumn": 1,
"endLineNumber": 16,
"endColumn": 5
},
{
"severity": 8,
"message": "Unindent not expected",
"source": "Pylance",
"startLineNumber": 16,
"startColumn": 90,
"endLineNumber": 16,
"endColumn": 90
},
{
"severity": 8,
"message": "Expected expression",
"source": "Pylance",
"startLineNumber": 16,
"startColumn": 90,
"endLineNumber": 16,
"endColumn": 90
},
{
"severity": 8,
"message": "Statements must be separated by newlines or semicolons",
"source": "Pylance",
"startLineNumber": 16,
"startColumn": 90,
"endLineNumber": 16,
"endColumn": 90
}]

修正后的代码:

print("Hello and welcome to the roller coaster!")

height = float(input("Let's start with your height! Please type in your height in m "))

if height >= 1.3:
    age = input("You are allowed to ride the roller coaster! Now, how old are you?")
    age_num = int(age)  # 把输入的字符串转成整数,方便判断
    if age_num < 12:
        print("Your total is $5")
    elif age_num < 18:
        print("Your total is $7")
    else:
        print("Your total is $12")
else:
    print("I'm sorry but you are too short to ride the roller coaster. Come back later.")

关键修改说明:

  1. 给所有嵌套代码块加上了统一的4空格缩进(VSCode默认会自动缩进,你可以检查下编辑器的「Indentation」设置,避免混用工制表符和空格);
  2. 把第一次获取的age转成整数存在age_num变量里,后续判断直接用这个变量,不用重复让用户输入;
  3. elifelse和对应的if保持同一缩进级别,确保条件分支结构清晰。

你把修正后的代码复制到VSCode里试试,应该就能正常运行啦!如果还有问题,可以检查下是否不小心把空格和制表符混在一起了,这也是新手常犯的缩进问题~

备注:内容来源于stack exchange,提问作者ERDEM ONUR VURAL

火山引擎 最新活动