输入若干个同学的成绩,计算平均成绩,输入的成绩为负数或大于100时表示结束 输入。
时间: 2023-06-11 17:08:47 浏览: 176
你需要一个循环来让用户反复输入成绩,直到输入的成绩为负数或大于100时退出循环并计算平均成绩。
可以使用一个计数器来统计输入的成绩个数,同时累加每个成绩的总和,最后用总和除以计数器即可得到平均成绩。
以下是具体实现:
```python
sum = 0 # 成绩总和
count = 0 # 成绩个数
while True:
score = int(input("请输入成绩:"))
if score < 0 or score > 100:
break # 输入的成绩为负数或大于100时退出循环
sum += score
count += 1
if count == 0:
print("没有输入有效成绩")
else:
avg_score = sum / count
print("平均成绩为:{:.2f}".format(avg_score))
```
需要注意的是,如果用户没有输入任何有效成绩(即输入了负数或大于100的成绩),计算平均成绩时需要避免除以 0 的错误。因此,在计算平均成绩之前需要先判断计数器 count 是否为 0。
相关问题
输入若干个同学的成绩,计算平均成绩,输入的成绩为负数或大于100时表示结束输入
以下是Python代码实现:
```python
scores = []
while True:
score = int(input("请输入成绩:"))
if score < 0 or score > 100:
break
scores.append(score)
if len(scores) == 0:
print("没有输入成绩")
else:
average = sum(scores) / len(scores)
print("平均成绩为:", average)
```
运行效果如下:
```
请输入成绩:78
请输入成绩:90
请输入成绩:88
请输入成绩:-1
平均成绩为: 85.33333333333333
```
输入若干个同学的成绩,计算平均成绩,输入的成绩为负数或大于100时表示结束输入
好的,以下是 Python 代码实现:
```python
scores = []
while True:
score = int(input("请输入成绩(输入负数或大于100表示结束输入):"))
if score < 0 or score > 100:
break
scores.append(score)
if len(scores) == 0:
print("没有输入任何成绩")
else:
avg_score = sum(scores) / len(scores)
print("平均成绩为:", avg_score)
```
这段代码首先定义了一个空的列表 `scores`,然后进入一个无限循环。在循环中,每次输入一个成绩,如果成绩小于 0 或大于 100,就跳出循环。否则将成绩加入 `scores` 列表中。
当用户输入了不合法的成绩后,程序会跳出循环。此时,如果列表 `scores` 为空,就说明没有输入任何成绩;否则,计算平均成绩并输出。
阅读全文