用python编写程序,生成 200 个人的模拟信息,包括姓名、性别、年龄、电话号码、家庭住址、电子邮箱地址,把生成的信息写入文本文件,每行存放一个人的信息,最后再读取生成的文本文件并输出其中的信息。
时间: 2024-06-12 20:07:29 浏览: 59
利用python随机产生的数据,用于数值模拟
以下是一个可能的实现:
```python
import random
import string
# 生成随机字符串
def random_string(length):
return ''.join(random.choice(string.ascii_letters) for i in range(length))
# 生成随机姓名
def random_name():
first_names = ['张', '王', '李', '赵', '陈', '刘', '杨', '黄', '吴', '郑']
last_names = ['伟', '芳', '娜', '秀英', '静', '强', '磊', '军', '洋', '勇']
return random.choice(first_names) + random.choice(last_names)
# 生成随机性别
def random_gender():
return random.choice(['男', '女'])
# 生成随机年龄
def random_age():
return random.randint(18, 60)
# 生成随机电话号码
def random_phone_number():
return ''.join(random.choice(string.digits) for i in range(11))
# 生成随机家庭住址
def random_address():
cities = ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都', '南京', '重庆', '西安']
districts = ['东城区', '西城区', '朝阳区', '海淀区', '丰台区', '石景山区', '房山区', '大兴区', '通州区', '顺义区']
return random.choice(cities) + random.choice(districts) + random_string(5) + '号'
# 生成随机电子邮箱地址
def random_email():
domains = ['gmail.com', 'hotmail.com', 'outlook.com', 'yahoo.com', '163.com', 'qq.com', 'sina.com', 'sohu.com', 'aliyun.com', 'yeah.net']
return random_string(8) + '@' + random.choice(domains)
# 生成模拟信息并写入文件
with open('people.txt', 'w') as f:
for i in range(200):
name = random_name()
gender = random_gender()
age = random_age()
phone_number = random_phone_number()
address = random_address()
email = random_email()
# 将信息写入文件
f.write(f'{name} {gender} {age} {phone_number} {address} {email}\n')
# 读取文件并输出信息
with open('people.txt', 'r') as f:
for line in f:
print(line.strip())
```
运行程序后,会生成一个名为 `people.txt` 的文本文件,并输出其中的所有信息。
阅读全文