Python计算成绩平均值代码如何实现单条记录分开输出
代码修改方案
原有代码会一次性计算所有成绩条目的平均分后整体打印整段结果,因此会出现所有记录合并输出的情况。要实现单条记录分开输出,只需在循环计算单个条目平均分的环节,同步逐条打印对应结果即可。
修改后完整代码
def calculate_average_grade(grades_dictionary): grades_avg = {} for key in grades_dictionary.keys(): average = sum(grades_dictionary[key]) / len(grades_dictionary[key]) grades_avg[key] = average # f字符串中双大括号为大括号转义写法 print(f'{{"{key}": {grades_dictionary[key]}}} ==> {{"{key}": {average}}}') return grades_avg grades_dictionary = readGrade avg_grade = calculate_average_grade(grades_dictionary)
如果需要对平均分的小数位数做限制,比如保留2位小数,可以将打印语句修改为:
print(f'{{"{key}": {grades_dictionary[key]}}} ==> {{"{key}": {average:.2f}}}')
输出效果示例
当输入readGrade = {'PQR': [4.0, 4.0, 4.5, 2.5, 4.5, 3.5], 'LMN': [4.0, 4.0, 3.0, 3.0, 3.0, 3.5]}时,输出结果为:
{"PQR": [4.0, 4.0, 4.5, 2.5, 4.5, 3.5]} ==> {"PQR": 3.8333333333333335} {"LMN": [4.0, 4.0, 3.0, 3.0, 3.0, 3.5]} ==> {"LMN": 3.4166666666666665}
内容的提问来源于stack exchange,提问作者vanilashortcake
相关产品推荐
相关产品推荐

