python题库 No.20 及格线上的平均分

夜曲二班10名学生语文成绩存储在元组mark中,计算该班除去不及格分数外的平均分。
最后格式化输出:"夜曲二班除去不及格分数外的平均分为xx分"。
题目和上题一样,要求不同。
要求:代码循环体通过while循环实现。

实际答案:

mark = (47,63,79,98,94,85,61,59,91,85)
mark_all = 0
mark_count = 0

i = 0

while i < len(mark):
  i += 1
  if mark[i - 1] < 60:
    continue
  mark_all = mark_all + mark[i-1]
  mark_count += 1 

print(f"夜曲二班除去不及格分数外的平均分为{mark_all / mark_count}分")

标准答案:
image
点评:
标准答案所使用的逻辑更加简洁,相较于实际答案中把小于60的分数排除,用continue跳过当前循环,标准答案直接纳入大于或等于60的分数,然后进行分数累加,代码可读性更高。

  • while循环,一开始把循环的目标放在分数上面,后面意识到需要放在计数上面。
    参考了:菜鸟教程 runoob.com
posted @ 2025-12-05 00:35  点影成金  阅读(8)  评论(0)    收藏  举报