批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。( 提示:c=chr(random.randint(65, 90))可以生成随机大写英文) 1)把生成的信息写入csv文件info.csv。 2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名。
时间: 2024-02-22 12:57:55 浏览: 283
好的,您的要求已经记录下来了。下面是您想要的 Python 代码:
```python
import random
import csv
import os
# 生成50个人的信息
data = []
for i in range(50):
name = ''.join([chr(random.randint(65, 90)) for _ in range(6)]) # 随机生成6个大写字母作为姓名
gender = random.choice(['男', '女'])
age = random.randint(18, 25)
score = random.randint(0, 100)
data.append([name, gender, age, score])
# 将信息写入csv文件
with open('info.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '性别', '年龄', '成绩'])
for d in data:
writer.writerow(d)
# 读取csv文件,将不及格同学信息存入dat文件
if not os.path.exists('not_pass'):
os.mkdir('not_pass')
with open('info.csv', 'r') as f:
reader = csv.reader(f)
next(reader) # 跳过表头
for d in reader:
if int(d[3]) < 60:
file_name = os.path.join('not_pass', d[0] + '.dat')
with open(file_name, 'w') as f:
f.write('姓名:{}\n性别:{}\n年龄:{}\n成绩:{}'.format(d[0], d[1], d[2], d[3]))
```
代码说明:
1. 首先生成50个人的信息,其中姓名随机生成6个大写字母,性别随机生成男或女,年龄随机生成18到25岁之间的整数,成绩随机生成0到100之间的整数。
2. 将生成的信息写入csv文件info.csv中,注意需要写入表头。
3. 读取csv文件info.csv,跳过表头,将每个不及格同学的信息存入以该同学姓名命名的dat文件中,注意需要先创建一个名为not_pass的文件夹作为存储路径。
阅读全文