首页 > 编程语言 > 详细

python随机生成个人信息

时间:2019-12-13 13:24:59      阅读:87      评论:0      收藏:0      [点我收藏+]

python随机生成个人信息

 

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import randomimport threading

class PersonalInformation():
    # 生成姓名
    def Names_of_generated(self):
        list_Xing = [
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , 羿, , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , 宿, , 怀, , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , 寿, ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , 广, , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            万俟, 司马, 上官, 欧阳, 夏侯, 诸葛, 闻人, 乐正, 壤驷, 公良, 拓跋, 漆雕, 夹谷, 宰父,
            东方, 赫连, 皇甫, 尉迟, 公羊, 澹台, 公冶, 宗政, 濮阳, 淳于, 单于, 太叔, 申屠, 公孙,
            仲孙, 南宫, 南门, 呼延, 羊舌, 微生, 梁丘, 左丘, 东门, 西门, 东郭, 巫马, 公西, 谷梁,
            轩辕, 令狐, 钟离, 宇文, 长孙, 慕容, 鲜于, 闾丘, 司徒, 司空, 亓官, 司寇, 颛孙, 端木,
            子车, 百里, 段干
        ]
        list_Ming = [
            , , , , , , , , , , , , , , , , , ,
            广, , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , , , , , , , , , , , , , ,
            , , , , , 
        ]
        return random.choice(list_Xing) + random.choice(list_Ming) + random.choice(list_Ming)

    # 生成有效手机号码
    def phoneNORandomGenerator(self):
        prelist = ["130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "147", "150", "151", "152",
                   "153", "155", "156", "157", "158", "159", "186", "187", "188"]
        return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8))

    def ageInfo(self):
        return random.randint(12, 60)

    def sexInfo(self):
        sex = random.choice([, ])
        return sex

    def getBirthday(self):
        # 随机生成年月日
        year = random.randint(1960, 2000)
        month = random.randint(1, 12)
        # 判断每个月有多少天随机生成日
        if year % 4 == 0:
            if month in (1, 3, 5, 7, 8, 10, 12):
                day = random.randint(1, 31)
            elif month in (4, 6, 9, 11):
                day = random.randint(1, 30)
            else:
                day = random.randint(1, 29)
        else:
            if month in (1, 3, 5, 7, 8, 10, 12):
                day = random.randint(1, 31)
            elif month in (4, 6, 9, 11):
                day = random.randint(1, 30)
            else:
                day = random.randint(1, 28)
        # 小于10的月份前面加0
        if month < 10:
            month = 0 + str(month)
        if day < 10:
            day = 0 + str(day)
        birthday = str(year) + str(month) + str(day)
        return birthday

    def idnum(self, Birthday, sex):
        province_id = [11, 12, 13, 14, 15, 21, 22, 23, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 50, 51, 52,
                       53, 54, 61, 62, 63, 65, 65, 81, 82, 83]
        id_num = ‘‘
        # 随机选择地址码
        id_num += str(random.choice(province_id))
        # 随机生成4-6位地址码
        for i in range(4):
            ran_num = str(random.randint(0, 9))
            id_num += ran_num
        b = Birthday
        id_num += b
        # 生成15、16位顺序号
        num = ‘‘
        for i in range(2):
            num += str(random.randint(0, 9))
        id_num += num
        # 通过性别判断生成第十七位数字 男单 女双
        s = sex
        if s == :
            # 生成奇数
            seventeen_num = random.randrange(1, 9, 2)
        else:
            seventeen_num = random.randrange(2, 9, 2)

        id_num += str(seventeen_num)
        eighteen_num = str(random.randint(1, 10))
        if eighteen_num == 10:
            eighteen_num = X
        id_num += eighteen_num
        return id_num


def PersonalInfo():
    PersonalInfo = PersonalInformation()
    info = {}
    info[name] = PersonalInfo.Names_of_generated()
    info[phone] = PersonalInfo.phoneNORandomGenerator()
    info[emali] = info[phone] + random.choice(
        [@163.com, @qq.com, @126.com, @sina.com, @sina.cn, @soho.com, @yeah.com])
    info[age] = PersonalInfo.ageInfo()
    info[sex] = PersonalInfo.sexInfo()
    info[birthday] = PersonalInfo.getBirthday()
    info[idnum] = PersonalInfo.idnum(info[birthday], info[sex])
    return info


print(PersonalInfo())

参考博客: https://www.cnblogs.com/lxmtx/p/11840221.html

python随机生成个人信息

原文:https://www.cnblogs.com/outsrkem/p/12034338.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!