钦笙 2022-10-10 16:31 采纳率: 87.5%
浏览 13
已结题

修改代码中的错误一直找不到

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)

  • 写回答

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条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测