Python成绩等级判定程序报错求助:SyntaxError及代码修正
语法错误排查与代码修正
原代码存在的问题:
- 语法错误:所有
if语句末尾缺少冒号:,这是Python条件语句的强制要求,也是触发SyntaxError的直接原因。 - 未定义标识符错误:
print(A)、print(B)中的A、B等未加引号,Python会将其视为变量而非字符串,运行时会报错。 - 逻辑错误:使用独立
if而非elif,会导致分数符合多个条件时输出多个等级(比如0.9会同时输出A、B、C、D)。 - 范围校验缺失:未实现"分数超出0.0-1.0范围则输出错误并退出"的需求,且最后的
else无对应if,逻辑混乱。
修正后的完整代码:
score = input("Enter Score: ") try: m = float(score) except ValueError: print("错误:请输入有效的数字分数") exit() # 校验分数范围 if not (0.0 <= m <= 1.0): print("错误:分数必须在0.0至1.0之间") exit() # 等级判断 if m >= 0.9: print("A") elif m >= 0.8: print("B") elif m >= 0.7: print("C") elif m >= 0.6: print("D") else: print("F")
测试说明:
输入0.85时,代码会输出B,符合需求。
内容的提问来源于stack exchange,提问作者sahib shukurov
相关产品推荐
相关产品推荐

