python随机生成1000个不同学生的学号,专业号(python随机生成1000个不同学生的学号,专业号(),姓名,性别,生日,并将结果保存到txt文件中。给出代码),姓名,性别,生日,并将结果保存到txt文件中。给出代码
时间: 2023-06-20 20:04:37 浏览: 72
以下是Python代码实现:
```python
import random
import datetime
# 生成1000个不同的学号
student_ids = list(range(10000001, 10001001))
random.shuffle(student_ids)
# 生成10个不同的专业号
major_ids = list(range(1, 11))
random.shuffle(major_ids)
# 生成1000个随机姓名
with open('names.txt', 'r') as f:
names = f.readlines()
names = [name.strip() for name in names]
random.shuffle(names)
# 生成1000个随机性别
genders = ['男', '女']
random.shuffle(genders)
# 生成1000个随机生日(1990年1月1日到2005年12月31日之间)
start_date = datetime.date(1990, 1, 1)
end_date = datetime.date(2005, 12, 31)
days_between = (end_date - start_date).days
birthdays = [start_date + datetime.timedelta(days=random.randint(0, days_between)) for _ in range(1000)]
# 将结果保存到txt文件中
with open('students.txt', 'w') as f:
for i in range(1000):
student_id = student_ids[i]
major_id = major_ids[i % 10]
name = names[i]
gender = genders[i]
birthday = birthdays[i].strftime('%Y-%m-%d')
line = f'{student_id}\t{major_id}\t{name}\t{gender}\t{birthday}\n'
f.write(line)
```
以上代码将生成一个名为 `students.txt` 的文本文件,每行包含一个学生的学号、专业号、姓名、性别、生日,用制表符分隔。
阅读全文