python编写程序,生成200个人的模拟信息,包括姓名、性别、年龄、电话号码、家庭住址、电子邮箱地址,把生成的信息写人文本文件,每行存放一个人的信息,最后再读取生成的文本文件并输出其中的信息。
时间: 2024-03-26 09:35:49 浏览: 128
好的,这是一个比较复杂的任务,需要用到随机数生成、字符串操作等知识。我可以给您提供一个Python代码的框架,您可以根据需要进行修改和完善。
```python
import random
# 定义常量
NAMES = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十', '郑十一', '冯十二']
GENDERS = ['男', '女']
AGE_RANGE = (18, 60)
PHONE_PREFIXES = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139',
'150', '151', '152', '153', '154', '155', '156', '157', '158', '159',
'180', '181', '182', '183', '184', '185', '186', '187', '188', '189']
EMAIL_SUFFIXES = ['@gmail.com', '@hotmail.com', '@163.com', '@qq.com', '@sina.com']
# 生成随机信息
def generate_info():
name = random.choice(NAMES)
gender = random.choice(GENDERS)
age = random.randint(*AGE_RANGE)
phone_prefix = random.choice(PHONE_PREFIXES)
phone_number = phone_prefix + ''.join(random.sample('0123456789', 8))
email_prefix = name + str(age)
email_suffix = random.choice(EMAIL_SUFFIXES)
email_address = email_prefix + email_suffix
address = '某省某市某区某街道' + str(random.randint(1, 100)) + '号'
return name, gender, age, phone_number, address, email_address
# 生成指定数量的随机信息
def generate_infos(num):
infos = []
for i in range(num):
info = generate_info()
infos.append(info)
return infos
# 写入文本文件
def write_to_file(infos, filename):
with open(filename, 'w', encoding='utf-8') as f:
for info in infos:
f.write('\t'.join([str(i) for i in info]) + '\n')
# 读取文本文件
def read_from_file(filename):
with open(filename, 'r', encoding='utf-8') as f:
infos = [line.strip().split('\t') for line in f.readlines()]
return infos
# 测试
if __name__ == '__main__':
infos = generate_infos(200)
write_to_file(infos, 'infos.txt')
new_infos = read_from_file('infos.txt')
print(new_infos)
```
以上代码中,我们首先定义了一些常量,如姓名、性别、年龄、电话号码、电子邮箱地址等信息。然后,我们编写了两个函数,`generate_info()` 和 `generate_infos(num)`,用于生成随机信息。在 `generate_info()` 函数中,我们使用了 `random` 模块来生成各种随机信息。在 `generate_infos(num)` 函数中,我们调用了 `generate_info()` 函数来生成指定数量的随机信息。
接着,我们编写了两个函数,`write_to_file(infos, filename)` 和 `read_from_file(filename)`,用于将生成的随机信息写入文本文件,并从文本文件中读取信息。在 `write_to_file(infos, filename)` 函数中,我们使用了 `with open()` 语句打开文件,然后使用 `f.write()` 函数将信息写入文件。在 `read_from_file(filename)` 函数中,我们使用了 `with open()` 语句打开文件,然后使用 `f.readlines()` 函数读取文件内容,并将每行信息转化为列表形式。
最后,在 `if __name__ == '__main__':` 语句中,我们调用了 `generate_infos(num)` 函数生成200个随机信息,并将其写入文本文件 `infos.txt` 中。然后,我们调用了 `read_from_file(filename)` 函数从文本文件中读取信息,并将其存储在变量 `new_infos` 中。最后,我们输出了 `new_infos` 变量的内容。
您可以根据需要对以上代码进行修改和完善,以满足您的实际需求。
阅读全文