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}分")
标准答案:

点评:
标准答案所使用的逻辑更加简洁,相较于实际答案中把小于60的分数排除,用continue跳过当前循环,标准答案直接纳入大于或等于60的分数,然后进行分数累加,代码可读性更高。
- while循环,一开始把循环的目标放在分数上面,后面意识到需要放在计数上面。
参考了:菜鸟教程 runoob.com

浙公网安备 33010602011771号