Python列表计算结果重复显示:如何仅展示一次平均成绩?
解决方法:让平均分只显示一次
你现在的问题根源是把计算和打印平均分的代码写在了输入成绩的循环里面,导致每输入一个成绩就会执行一次打印操作,自然会重复显示多次。
只需要把计算平均分和打印的代码移到循环外面,等所有成绩都输入完成、存进列表后,再执行一次计算和打印即可:
# 初始化空列表 grades = [] # 先获取要输入的作业数量 assignment_count = int(input("请输入作业数量:")) # 循环输入成绩并添加到列表 for _ in range(assignment_count): score = float(input("请输入成绩:")) grades.append(score) # 循环结束后计算并打印平均分 if grades: # 避免空列表除以0的报错情况 average_score = sum(grades) / len(grades) print(f"平均分:{average_score}") else: print("没有输入任何成绩,无法计算平均分")
这样修改后,循环只负责收集所有成绩,等所有成绩都存入列表后,才会执行一次平均分的计算和打印,就只会显示一次结果了。额外添加的空列表判断,还能避免没输入成绩时出现程序报错的问题。
内容的提问来源于stack exchange,提问作者addoadil
相关产品推荐
相关产品推荐

