编写程序,从键盘上输入若干个学生的成绩,当成绩小于或等于0时结束输入,统计并输出优秀,良好,中等,及格和不及格人数。
时间: 2023-09-04 09:04:22 浏览: 143
### 回答1:
以下是Python的实现代码:
```python
excellent = 0 # 优秀人数
good = 0 # 良好人数
medium = 0 # 中等人数
passing = 0 # 及格人数
failed = 0 # 不及格人数
while True:
score = float(input("请输入学生的成绩(输入小于等于0的数结束输入):"))
if score <= 0:
break
elif score >= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
medium += 1
elif score >= 60:
passing += 1
else:
failed += 1
print("优秀人数:", excellent)
print("良好人数:", good)
print("中等人数:", medium)
print("及格人数:", passing)
print("不及格人数:", failed)
```
运行程序后,依次输入每个学生的成绩,当输入小于等于0的数时,程序结束并输出统计结果。例如,输入以下内容:
```
请输入学生的成绩(输入小于等于0的数结束输入):85
请输入学生的成绩(输入小于等于0的数结束输入):72
请输入学生的成绩(输入小于等于0的数结束输入):94
请输入学生的成绩(输入小于等于0的数结束输入):56
请输入学生的成绩(输入小于等于0的数结束输入):0
```
输出结果为:
```
优秀人数: 2
良好人数: 1
中等人数: 0
及格人数: 1
不及格人数: 1
```
### 回答2:
可以使用循环和条件判断来实现这个程序的功能。
首先,定义五个变量来表示各个等级的人数:excellent(优秀),good(良好),average(中等),passing(及格)和fail(不及格),初始化为0。
然后,使用一个无限循环,每次循环中提示用户输入一个学生成绩,并使用input函数读取用户输入的成绩。
在每次循环体开始时,使用条件判断语句检查输入的成绩是否小于等于0,如果是,则跳出循环。
接下来,在一个嵌套的条件判断语句中,使用逻辑运算符判断成绩的范围,并对相应的变量进行递增操作。例如,如果成绩大于等于90,则优秀人数excellent加1;如果成绩大于等于80且小于90,则良好人数good加1;以此类推。
最后,循环结束后,输出各个等级的人数。
下面是示例代码:
```python
excellent = 0
good = 0
average = 0
passing = 0
fail = 0
while True:
score = int(input("请输入学生成绩(输入小于等于0结束):"))
if score <= 0:
break
if score >= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 60:
average += 1
elif score >= 40:
passing += 1
else:
fail += 1
print("优秀人数:", excellent)
print("良好人数:", good)
print("中等人数:", average)
print("及格人数:", passing)
print("不及格人数:", fail)
```
以上代码可以实现从键盘上输入学生成绩,并统计输出优秀,良好,中等,及格和不及格的人数。
### 回答3:
题目要求编写程序,从键盘输入学生的成绩,当成绩小于等于0时结束输入,并统计并输出优秀、良好、中等、及格和不及格人数。
下面是一个可能的程序实现方式:
```python
# 初始化统计变量
excellent_count = 0 # 优秀人数
good_count = 0 # 良好人数
medium_count = 0 # 中等人数
pass_count = 0 # 及格人数
fail_count = 0 # 不及格人数
# 循环获取学生成绩
while True:
score = float(input("请输入学生的成绩(输入0或负数结束输入):"))
if score <= 0:
break
# 根据分数范围进行统计
if score >= 90:
excellent_count += 1
elif score >= 80:
good_count += 1
elif score >= 70:
medium_count += 1
elif score >= 60:
pass_count += 1
else:
fail_count += 1
# 输出统计结果
print("优秀人数:", excellent_count)
print("良好人数:", good_count)
print("中等人数:", medium_count)
print("及格人数:", pass_count)
print("不及格人数:", fail_count)
```
这段代码通过一个无限循环来获取学生的成绩,当输入的分数小于等于0时,程序会使用 `break` 语句结束循环。之后,根据不同的分数范围来对统计变量进行增加,最后输出统计结果。
注意:
1. 输入的成绩必须为数字类型,通过 `float()` 函数将输入的字符串转换为浮点数。如果输入的值不能正确转换为浮点数,则会引发 `ValueError` 异常。
2. `float()` 函数可能会对用户输入进行验证,确保输入的是一个合法的浮点数。
3. 这段代码的实现是一种可能的方式,可以根据实际需求进行修改和改进。
阅读全文