输入若干个成绩,求所有成绩的平均分,最高分,最低分。如果输入的是字母q(不区分大小写),则停止成绩的输入,否则判断成绩不在0-100的范围则提示“成绩不合法”,合法的成绩加入统计。最后打印输出所有成绩的平均分,最高分,最低分。
时间: 2023-12-17 18:03:06 浏览: 57
输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。
以下是 Python 的实现代码:
```python
scores = []
while True:
score = input("请输入成绩:")
if score.lower() == 'q':
break
elif not score.isdigit() or int(score) < 0 or int(score) > 100:
print("成绩不合法!")
else:
scores.append(int(score))
if len(scores) > 0:
average = sum(scores) / len(scores)
max_score = max(scores)
min_score = min(scores)
print("平均分:{:.2f},最高分:{},最低分:{}".format(average, max_score, min_score))
else:
print("没有输入任何成绩!")
```
解释一下代码:
- 首先定义一个空列表 `scores` 存储所有合法的成绩。
- 进入循环,每次从用户输入中读取一个字符串 `score`。
- 判断如果用户输入了字母 `q`,则退出循环。
- 否则,判断输入的字符串是否为数字,并且是否在 0 到 100 的范围内。如果不是,输出提示信息;否则将其转换成整数并加入 `scores` 列表中。
- 循环结束后,判断 `scores` 列表是否为空。如果不为空,计算平均分、最高分和最低分,并输出;否则输出“没有输入任何成绩!”的提示信息。
阅读全文