You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:修复代码中的Pylance 'Expected Expression'错误

代码修复方案

你的代码存在几个关键问题,导致Pylance报错和功能失效,以下是修复后的完整代码及问题说明:

修复后的代码

# 获取5门课程成绩并转换为整数
g1 = int(input("Insert first grade: "))
g2 = int(input("Insert second grade: "))
g3 = int(input("Insert third grade: "))
g4 = int(input("Insert fourth grade: "))
g5 = int(input("Insert fifth grade: "))

total_possible = 50  # 总分上限
sum_grades = g1 + g2 + g3 + g4 + g5  # 计算实际总分

def calculate_percentage(sum_g, total):
    return 100 * sum_g / total

# 调用函数计算百分比
percentage = calculate_percentage(sum_grades, total_possible)

# 判断成绩等级
if 80 <= percentage <= 100:
    print("Grade: A")
elif 70 <= percentage <= 79:
    print("Grade: B")
elif 60 <= percentage <= 69:
    print("Grade: C")
elif 50 <= percentage <= 59:
    print("Grade: D")
else:
    print("Grade: F")

关键问题及修复说明

  • 输入未转换类型:input()返回的是字符串,必须用int()转换为整数才能进行数值计算,否则会引发类型错误。
  • 总分计算错误:你之前把Sum赋值为列表[g1,g2,g3,g4,g5],但实际需要的是列表元素的总和,改用直接相加或sum()函数即可。
  • 函数未调用:你定义了Percentage函数,但没有调用它就直接拿函数名和数值比较,这是错误的。需要先调用函数得到计算结果,再用结果进行条件判断。
  • 变量命名优化:避免使用Sum、Total这类容易和内置函数(如sum())混淆的名称,改用更清晰的命名提升代码可读性。
  • 条件表达式简化:Python支持连续比较(如80 <= percentage <=100),无需拆分两个条件用and连接,让代码更简洁。

内容的提问来源于stack exchange,提问作者gb300

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:02:58