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
相关产品推荐
相关产品推荐

