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

Python成绩统计程序gradeLetter函数实现问题求助

问题排查

  • gradeLetter函数逻辑运算符使用错误:条件判断中你用了逻辑或or,以第一个判断为例,grade > 90 or grade <= 100只要满足其中一个条件就会触发返回,所有≤100的合法成绩都会直接返回A,不会执行后续判断
  • 边界值缺失:刚好等于90、80、70、60的成绩没有被现有条件覆盖,会出现判断异常
  • 主函数未调用等级转换逻辑:现有代码仅输出平均分值,没有调用gradeLetter获取对应的字母等级

修正后完整代码

def main():
    grade1 = int(input("Please enter your first grade: "))
    grade2 = int(input("Please enter your second grade: "))
    grade3 = int(input("Please enter your third grade: "))
    grade4 = int(input("Please enter your fourth grade: "))
    grade5 = int(input("Please enter your fifth grade: "))
    
    avg = calcAverage(grade1, grade2, grade3, grade4, grade5)
    print("平均成绩为:", avg)
    print("对应字母等级为:", gradeLetter(avg))

def gradeLetter(grade):
    if 90 <= grade <= 100:
        return 'A'
    elif 80 <= grade < 90:
        return 'B'
    elif 70 <= grade < 80:
        return 'C'
    elif 60 <= grade < 70:
        return 'D'
    else:
        return 'F'

def calcAverage(grade1, grade2, grade3, grade4, grade5):
    avg = (grade1 + grade2 + grade3 + grade4 + grade5) / 5
    return avg

main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:15:03