from random import choice ,randint
import string
import codecs
#常用汉字Unicode编码表(部分),完整列表详见配套源代码
StringBase='\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba'
def getEmail():
#常见域名后缀,可以随意扩展该列表
suffix=['.com','.org','.net','.cn']
characters=string.ascii_letters+string.digits+'_'
username=''.join((choice(charaters) for i in range(randint(6,12))))
domain=''.join((choice(characters) for i in range(randit(3,6))))
return username+'@'+domain+choice(suffix)
def getTelNo():
return''.join((str(randint(0,9)) for i in range(11)))
def getNameOrAddress(flag):
'''flag=1表示返回随机姓名,flag=0表示返回随机地址'''
if flag==1:
#大部分中国人姓名为2~5个汉字
rangestart,rangeend=2,5
elif flag==0:
#假设地址在10~30个汉字
rangestart,rangeend=10,30
result=''.join((choice(StringBase) for i in range(randint(rangestart,rangeend))))
return result
def getSex():
return choice(('男','女'))
def getAge():
return str(randint(18,100))
def main(filename):
with codecs.open(filename,'w','uty-8')as fp:
fp.write('Name,Sex,Age,TelNo,Address,Email\n')
#随机生成200个人的信息
for i in range(200):
name=getNameOrAddress(1)
sex=getSex()
age=getAge()
tel=getTelNo()
address=getNameOrAddress(0)
email=getEmail()
line=','.join([name,sex,age,tel,address,email])+'\n'
fp.write(line)
def output(filename):
with codecs.open(filename,'r','utf-8')as fp:
for line in fp:
line=line.split(',')
for i in line:
print(i,end=',')
print()
if_ _name_ _= ='_ _main_ _':
filename='information.txt'
main(filename)
output(filename)
修改代码中的错误一直找不到
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Ko-walski 2022-10-10 17:05关注
from random import choice, randint import string import codecs # 常用汉字Unicode编码表(部分),完整列表详见配套源代码 StringBase = '\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba' def getEmail(): # 常见域名后缀,可以随意扩展该列表 suffix = ['.com', '.org', '.net', '.cn'] characters = string.ascii_letters + string.digits + '_' username = ''.join((choice(characters) for i in range(randint(6, 12)))) domain = ''.join((choice(characters) for i in range(randint(3, 6)))) return username + '@' + domain + choice(suffix) def getTelNo(): return ''.join((str(randint(0, 9)) for i in range(11))) def getNameOrAddress(flag): '''flag=1表示返回随机姓名,flag=0表示返回随机地址''' if flag == 1: # 大部分中国人姓名为2~5个汉字 rangestart, rangeend = 2, 5 elif flag == 0: # 假设地址在10~30个汉字 rangestart, rangeend = 10, 30 result = ''.join((choice(StringBase) for i in range(randint(rangestart, rangeend)))) return result def getSex(): return choice(('男', '女')) def getAge(): return str(randint(18, 100)) def mains(filename): # codecs.open(filename, 'wb', encoding='utf-8').write('Name,Sex,Age,TelNo,Address,Email\n') with codecs.open(filename, 'w', encoding='utf-8') as fp: fp.flush() # fp.write('Name,Sex,Age,TelNo,Address,Email\n') # 随机生成200个人的信息 for i in range(200): name = getNameOrAddress(1) sex = getSex() age = getAge() tel = getTelNo() address = getNameOrAddress(0) email = getEmail() line = ','.join([name, sex, age, tel, address, email]) + '\n' fp.write(line) def output(filename): with codecs.open(filename, encoding='utf-8') as fp: for line in fp: line = line.split(',') for i in line: print(i, end=',') print() if __name__ =='__main__': filename = 'information.txt' mains(filename) output(filename)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 AT89C51控制8位八段数码管显示时钟。
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测