当前,学校要求开学时统计各班同学们的健康状况。请编写程序,根据输入的学生健康状态清单,统计各种状态的人数。其中学号用六位整数表示,如220102,数字0代表“未感染”,数字1代表“阳过”,数字2代表“阳康”。
时间: 2023-08-31 09:34:38 浏览: 103
### 回答1:
```python
# 定义三个计数器,分别统计未感染、阳过、阳康的人数
uninfected = 0
positive = 0
recovered = 0
# 循环读入学生的健康状态,直到输入结束符
while True:
try:
status = input()
except:
break # 输入结束符,跳出循环
if status[6] == '0':
uninfected += 1
elif status[6] == '1':
positive += 1
elif status[6] == '2':
recovered += 1
# 输出各种状态的人数
print("未感染:", uninfected)
print("阳过:", positive)
print("阳康:", recovered)
```
说明:
1. 定义三个变量 `uninfected`、`positive`、`recovered`,分别用于统计未感染、阳过、阳康的人数,初始值都为 0。
2. 使用 `while` 循环读入学生的健康状态,并根据状态码更新对应的计数器。
3. 当输入结束符(例如在命令行中按下 Ctrl+D)时,跳出循环。
4. 输出各种状态的人数。
### 回答2:
可以编写一个Python程序来实现这个功能。以下是一个简单的示例代码:
```python
# 初始化各种状态的人数为0
not_infected = 0
positive = 0
recovered = 0
# 循环获取学生健康状态清单
for _ in range(10):
student_status = int(input("请输入学生状态:"))
# 根据学生健康状态进行统计
if student_status == 0:
not_infected += 1
elif student_status == 1:
positive += 1
elif student_status == 2:
recovered += 1
# 输出统计结果
print("未感染人数:", not_infected)
print("阳过人数:", positive)
print("阳康人数:", recovered)
```
这个程序会循环10次,每次获取一个学生的健康状态,并根据状态来更新对应的人数变量。最后打印出各种状态的人数。
你可以根据需要来修改代码,比如更改循环次数、添加更多的状态选项等。
### 回答3:
以下是一个简单的Python程序示例,可以根据输入的学生健康状态清单,统计各种状态的人数:
```python
# 初始化各状态的人数计数
uninfected_count = 0
mild_count = 0
healthy_count = 0
# 循环输入学生的学号和健康状态
while True:
student_id = input("请输入学生学号(输入0结束):")
# 输入0时结束循环
if student_id == "0":
break
health_status = int(input("请输入学生健康状态(0-未感染,1-阳过,2-阳康):"))
# 根据健康状态增加相应的人数计数
if health_status == 0:
uninfected_count += 1
elif health_status == 1:
mild_count += 1
elif health_status == 2:
healthy_count += 1
else:
print("请输入有效的健康状态(0-未感染,1-阳过,2-阳康)!")
# 输出各状态的人数统计结果
print("未感染的人数:", uninfected_count)
print("阳过的人数:", mild_count)
print("阳康的人数:", healthy_count)
```
这个程序通过循环输入学生的学号和健康状态,根据不同的健康状态将人数计数。最后输出各状态的人数统计结果。程序会不断循环输入,直到输入的学号为0时结束统计。