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

Python3 GPA计算器:字母转分数的if语句无法执行问题求助

解决你的GPA计算器if语句不执行问题

嘿,我一眼就发现了几个导致代码异常的问题,这就是你的第一个if语句没法触发的原因:

1. 变量类型用错了

你把yourGrade定义成了字典{},但字典根本没有append()方法!你需要用来存储分数的是列表,所以得把初始化语句改成:

yourGrade = []

2. 大小写匹配逻辑出错

你用score.lower()把输入的等级转成了小写,但后续判断的却是大写的'A'、'A+',这两者永远不会相等!得把判断条件里的等级改成小写形式,让转小写后的输入能匹配上。

3. (可选)简化条件判断

多个or拼接的条件可以用in来简化,让代码更简洁易读。

另外你的原代码缩进也有点混乱,我帮你整理并修正了完整代码:

yourGrade = []
while True:
    score = input("Enter your letter grades: ")  # input本身就是字符串,不用再转str
    lower_score = score.lower()
    if lower_score in ['a', 'a+', 'a-']:
        yourGrade.append(4)
        print(yourGrade)
    if lower_score == 'done':
        break
print(yourGrade)

这样修改后,输入A/A+/A-都会正确把4添加到列表中,输入done就会退出循环。如果后续要添加其他等级(比如B、C系列),只需要扩展in后面的列表,并对应修改append的分数值就可以啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:00:04