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

Python成绩计算程序问题:调用calc_average函数获取平均分失败求助

Python成绩计算程序修复方案

你的calc_average函数设计为接收5个位置参数(test1到test5),直接传入main函数中获取的5个测试成绩变量即可。另外原代码里还有个小问题:打印成绩表格时,numeric grade列被写死成了50,需要替换成实际输入的分数。

以下是修复后的完整代码:

def determine_grade(score):
    if score >= 90:       
        return 'A'
    elif score >= 80:
        return 'B'
    elif score >= 70:
        return 'C'
    elif score >= 60: 
        return 'D'
    else:
        return 'F'


def calc_average(test1, test2, test3, test4, test5):
    avg = sum((test1, test2, test3, test4, test5))/5
    return avg

def main():
    
    test1 = int(input('Enter score 1: '))
    test2 = int(input('Enter score 2: '))
    test3 = int(input('Enter score 3: '))
    test4 = int(input('Enter score 4: '))
    test5 = int(input('Enter score 5: '))
    
    # 调用calc_average函数,传入5个成绩变量
    average_score = calc_average(test1, test2, test3, test4, test5)
    # 计算平均分对应的等级
    average_grade = determine_grade(average_score)
    
    print('Average of the Test Scores')
    print()
    print(f'{"score":>5}{"numeric grade":>20}{"letter grade":>15}')
    print('----------------------------------------')
    test1_score = determine_grade(test1)
    # 替换写死的50为实际输入的test1
    print(f'{"score 1:":<5}{test1:>10}{test1_score:>15}')
    test2_score = determine_grade(test2)
    print(f'{"score 2:":<5}{test2:>10}{test2_score:>15}')
    test3_score = determine_grade(test3)
    print(f'{"score 3:":<5}{test3:>10}{test3_score:>15}')
    test4_score = determine_grade(test4)
    print(f'{"score 4:":<5}{test4:>10}{test4_score:>15}')
    test5_score = determine_grade(test5)
    print(f'{"score 5:":<5}{test5:>10}{test5_score:>15}')
    # 新增打印平均分的行
    print('----------------------------------------')
    print(f'{"Average:":<5}{average_score:>10.2f}{average_grade:>15}')
    

main()

关键修改点:

  • 在main函数中调用calc_average(test1, test2, test3, test4, test5),传入你获取的5个测试成绩变量,得到平均分
  • 将表格中numeric grade列的固定值50替换为对应的test1、test2等实际输入分数
  • 新增了平均分的打印行,同时计算并显示平均分对应的字母等级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:01:04