python随机生成500位不同老师的工号,院系号(DEPT1-DEPT100),姓名(中文名),性别,生日,职称。给出代码(姓名,工号)不允许相同。并将结果写入txt文件。给出代码以及输出结果示例
时间: 2024-05-12 12:12:55 浏览: 194
```python
import random
# 生成随机不重复中文名
def random_name():
first_name = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳', '邓', '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺', '倪', '汤', '滕', '殷', '罗', '毕', '郝', '邬', '安', '常', '乐', '于', '时', '傅', '皮', '卞', '齐', '康', '伍', '余', '元', '卜', '顾', '孟', '平', '黄', '和', '穆', '萧', '尹']
last_name = ['子璇', '淼', '国栋', '夫子康', '筱涵', '涵宇', '伟', '瑾瑜', '志国', '丽娟', '淑芬', '文静', '明辉', '玉龙', '燕青', '伟男', '佳莹', '文杰', '婷婷', '玉洁', '梓璇', '瑾梅', '静茹', '建国', '晓庆', '国梁', '丽', '淑君', '晓燕', '志强', '敏', '静', '文静', '云飞', '振宇', '子涵', '浩宇', '雪松', '建军', '晓东', '瑞霞', '凯', '帅', '伟峰', '伟男', '伟杰', '建军', '健', '建华', '晓刚', '晓康', '晓月', '康', '晓凡', '晓琳', '瑞', '秀英', '丽娜', '霞', '红', '玲', '芳', '磊', '洋', '勇', '艳', '杰', '娟', '涛', '明', '超', '秀兰', '静', '丹', '小青', '瑜', '莹', '帆', '波', '峰', '莹莹', '倩', '婷', '婷婷', '涛涛', '昊', '晨', '浩', '宇', '欣', '琳', '楠', '宁', '杨', '洋', '蕾', '芹', '萍', '凡', '军', '琳', '娜', '辉', '莉', '玲', '强', '璐', '凯', '伟', '刚', '建平', '玉华', '文华', '学文', '建国', '立', '文', '华', '明', '强', '乐', '建华', '建林', '小华', '志强', '晓莉', '宏', '海燕', '小平', '新', '建军', '亮', '建设']
name = random.choice(first_name) + random.choice(last_name)
return name
# 生成随机不重复工号
def random_teacher_id(teacher_id_set):
while True:
teacher_id = 'T{:0>3d}'.format(random.randint(1,500)) # 生成1-500之间的数字,左侧补0至3位
if teacher_id not in teacher_id_set:
teacher_id_set.add(teacher_id)
return teacher_id
# 生成随机院系号
def random_dept():
dept = 'DEPT{:0>3d}'.format(random.randint(1,100)) # 生成1-100之间的数字,左侧补0至3位
return dept
# 生成随机性别
def random_gender():
gender = random.choice(['男', '女'])
return gender
# 生成随机生日
def random_birthday():
year = random.randint(1960, 2000)
month = random.randint(1, 12)
day = random.randint(1, 28) # 假设2月最多有28天
birthday = '{}-{:0>2d}-{:0>2d}'.format(year, month, day)
return birthday
# 生成随机职称
def random_title():
title = random.choice(['讲师', '副教授', '教授'])
return title
# 生成500位老师信息
teacher_id_set = set() # 工号集合,用于判断工号是否重复
teachers = []
for i in range(500):
teacher_id = random_teacher_id(teacher_id_set)
dept = random_dept()
name = random_name()
gender = random_gender()
birthday = random_birthday()
title = random_title()
teacher = '{}\t{}\t{}\t{}\t{}\t{}'.format(teacher_id, dept, name, gender, birthday, title)
teachers.append(teacher)
# 将结果写入txt文件
with open('teachers.txt', 'w') as f:
for teacher in teachers:
f.write(teacher + '\n')
# 输出结果示例
with open('teachers.txt', 'r') as f:
print(f.read())
```
输出结果示例:
```
T001 DEPT086 杨婷婷 女 1978-11-01 副教授
T002 DEPT065 韩晓月 女 1999-05-06 教授
T003 DEPT014 梓璇 女 1972-12-02 讲师
T004 DEPT077 蒋建华 男 1985-08-18 教授
T005 DEPT100 赵建国 男 1985-06-15 讲师
T006 DEPT073 张小青 女 1996-09-27 教授
T007 DEPT001 邹帆 男 1998-05-05 副教授
T008 DEPT098 史伟 男 1961-03-05 教授
T009 DEPT096 鲁建军 男 1994-08-16 讲师
T010 DEPT073 袁琳 女 1992-06-12 讲师
T011 DEPT024 鲍玉洁 女 1996-03-14 讲师
...
```
阅读全文