用python编写如下程序:程序运行显示提示语<请输入文件名>,用户输入数据文件名(用户确保数据文件和程序文件在同一文件夹下),程序打开数据文件并进行分析后,屏幕输出<总人次><男女人数><RBC><WBC>共7个统计指标。显示提示语<检查人次统计如下>并换行,逐行按次数升序输出有效(无人数不输出)检查次数对应人数。显示提示语<检查n次的人按编号从小到大排列如下>并换行,按编号升序逐行输出检查n次的人员编号zID。
时间: 2023-06-11 10:10:06 浏览: 72
以下是代码实现:
```python
filename = input("请输入文件名:")
with open(filename, 'r') as f:
data = f.readlines()
total_persons = len(data)
male_count = 0
female_count = 0
rbc_count = 0
wbc_count = 0
check_counts = {}
check_persons = {}
for line in data:
line = line.strip().split(',')
if line[0] == 'M':
male_count += 1
elif line[0] == 'F':
female_count += 1
if line[1] != '':
rbc_count += int(line[1])
if line[2] != '':
wbc_count += int(line[2])
for i in range(3, len(line)):
if line[i] != '':
if i-2 not in check_counts:
check_counts[i-2] = int(line[i])
check_persons[i-2] = [line[0]]
else:
check_counts[i-2] += int(line[i])
check_persons[i-2].append(line[0])
print("总人次:{}".format(total_persons))
print("男性人数:{}".format(male_count))
print("女性人数:{}".format(female_count))
print("RBC总数:{}".format(rbc_count))
print("WBC总数:{}".format(wbc_count))
print("检查人次统计如下:")
for k, v in sorted(check_counts.items()):
print("{}次检查:{}人".format(k, v))
print("检查n次的人按编号从小到大排列如下:")
for k, v in sorted(check_persons.items()):
print("{}次检查:{}".format(k, ', '.join(sorted(v))))
```
程序运行后,会提示用户输入数据文件名,用户输入后程序会进行数据分析,并输出总人次、男女人数、RBC和WBC等统计指标。然后程序会按照次数升序输出有效(无人数不输出)检查次数对应人数,以及按照编号升序输出检查n次的人员编号。
阅读全文