批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。\n\n1)把生成的信息写入csv文件info.csv。\n\n2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名。
时间: 2024-05-09 16:15:23 浏览: 66
以下是Python代码实现:
```python
import random
import csv
# 生成50个人的随机信息
info_list = []
for i in range(50):
name = ''.join(random.sample('abcdefghijklmnopqrstuvwxyz', 6)).title() # 生成6个随机字母并首字母大写作为姓名
gender = random.choice(['男', '女'])
age = random.randint(18, 25)
score = random.randint(0, 100)
info_list.append([name, gender, age, score])
# 将信息写入csv文件
with open('info.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '性别', '年龄', '成绩'])
writer.writerows(info_list)
# 读取csv文件,将不及格同学信息存入dat文件中
with open('info.csv', 'r') as f:
reader = csv.reader(f)
next(reader) # 跳过表头
for row in reader:
name, gender, age, score = row
if int(score) < 60:
with open(f'{name}.dat', 'w') as f2:
f2.write(f'姓名:{name}\n性别:{gender}\n年龄:{age}\n成绩:{score}\n')
```
运行后,会在当前目录下生成一个info.csv文件和若干个以不及格同学姓名命名的.dat文件。每个.dat文件中包含该同学的姓名、性别、年龄和成绩等信息。
阅读全文