場(chǎng)景 :使用Python實(shí)現(xiàn)個(gè)人信息,如姓名、電話號(hào)碼、身份證號(hào)、性別、應(yīng)行卡號(hào)、郵箱的自動(dòng)生成。
自定義姓名、各身份前兩位地址碼、手機(jī)號(hào)開(kāi)頭相關(guān)模塊,供個(gè)人信息生成時(shí)調(diào)用。
name.py
"""
百家姓、名列表
"""
first_name = ['趙' ,'錢', '孫','李','周','吳','鄭','王','馮','陳','褚','衛(wèi)','蔣',
'沈','韓','楊','朱','秦','尤','許','何','呂','施','張','孔','曹'
,'嚴(yán)','華','金','魏','陶','姜','戚','謝','鄒','喻','柏','水','竇','章','云','蘇',
'潘','葛','奚','范','彭','郎','魯','韋','昌','馬','苗','鳳','花','方','俞','任','袁','柳',
'酆','鮑','史','唐','費(fèi)','廉','岑','薛','雷','賀','倪','湯','滕','殷','羅','畢','郝','鄔',
'安','常','樂(lè)','于','時(shí)','傅','皮','卞','齊','康','伍','余','元','卜','顧','孟','平','黃',
'和','穆','蕭','尹','姚','邵','湛','汪','祁','毛','禹','狄','米','貝','明','臧','計(jì)','伏',
'成','戴','談','宋','茅','龐','熊','紀(jì)','舒','屈','項(xiàng)','祝','董','粱','杜','阮','藍(lán)','閔',
'席','季','麻','強(qiáng)','賈','路','婁','危','江','童','顏','郭','梅','盛','林','刁','鐘','徐',
'邱','駱','高','夏','蔡','田','樊','胡','凌','霍','虞','萬(wàn)','支','柯','昝','管','盧','莫',
'經(jīng)','房','裘','繆','干','解','應(yīng)','宗','丁','宣','賁','鄧','郁','單','杭','洪','包','諸',
'左','石','崔','吉','鈕','龔','程','嵇','邢','滑','裴','陸','榮','翁','荀','羊','於','惠',
'甄','麴','家','封','芮','羿','儲(chǔ)','靳','汲','邴','糜','松','井','段','富','巫','烏','焦',
'巴','弓','牧','隗','山','谷','車','侯','宓','蓬','全','郗','班','仰','秋','仲','伊','宮',
'寧','仇','欒','暴','甘','鈄','厲','戎','祖','武','符','劉','景','詹','束','龍','葉','幸',
'司','韶','郜','黎','薊','薄','印','宿','白','懷','蒲','邰','從','鄂','索','咸','籍','賴',
'卓','藺','屠','蒙','池','喬','陰','欎','胥','能','蒼','雙','聞','莘','黨','翟','譚','貢',
'勞','逄','姬','申','扶','堵','冉','宰','酈','雍','舄','璩','桑','桂','濮','牛','壽','通',
'邊','扈','燕','冀','郟','浦','尚','農(nóng)','溫','別','莊','晏','柴','瞿','閻','充','慕','連',
'茹','習(xí)','宦','艾','魚','容','向','古','易','慎','戈','廖','庾','終','暨','居','衡','步',
'都','耿','滿','弘','匡','國(guó)','文','寇','廣','祿','闕','東','毆','殳','沃','利','蔚','越',
'夔','隆','師','鞏','厙','聶','晁','勾','敖','融','冷','訾','辛','闞','那','簡(jiǎn)','饒','空',
'曾','毋','沙','乜','養(yǎng)','鞠','須','豐','巢','關(guān)','蒯','相','查','後','荊','紅','游','竺',
'權(quán)','逯','蓋','益','桓','公','萬(wàn)俟','司馬','上官','歐陽(yáng)','夏侯','諸葛','聞人','東方','赫連',
'皇甫','尉遲','公羊','澹臺(tái)','公冶','宗政','濮陽(yáng)','淳于','單于','太叔','申屠','公孫','仲孫',
'軒轅','令狐','鐘離','宇文','長(zhǎng)孫','慕容','鮮于','閭丘','司徒','司空','亓官','司寇','仉','督',
'子車','顓孫','端木','巫馬','公西','漆雕','樂(lè)正','壤駟','公良','拓跋','夾谷','宰父','谷梁','晉',
'楚','閆','法','汝','鄢','涂','欽','段干','百里','東郭','南門','呼延','歸','海','羊舌','微生',
'岳','帥','緱','亢','況','后','有','琴','梁丘','左丘','東門','西門','商','牟','佘','佴','伯',
'賞','南宮','墨','哈','譙','笪','年','愛(ài)','陽(yáng)','佟','言','福']
second_name = ['的', '一', '是', '了', '我', '不', '人', '在', '他', '有', '這', '個(gè)', '上', '們', '來(lái)', '到', '時(shí)', '大', '地', '為',
'子', '中', '你', '說(shuō)', '生', '國(guó)', '年', '著', '就', '那', '和', '要', '她', '出', '也', '得', '里', '后', '自', '以',
'會(huì)', '家', '可', '下', '而', '過(guò)', '天', '去', '能', '對(duì)', '小', '多', '然', '于', '心', '學(xué)', '么', '之', '都', '好',
'看', '起', '發(fā)', '當(dāng)', '沒(méi)', '成', '只', '如', '事', '把', '還', '用', '第', '樣', '道', '想', '作', '種', '開(kāi)', '美',
'總', '從', '無(wú)', '情', '己', '面', '最', '女', '但', '現(xiàn)', '前', '些', '所', '同', '日', '手', '又', '行', '意', '動(dòng)',
'方', '期', '它', '頭', '經(jīng)', '長(zhǎng)', '兒', '回', '位', '分', '愛(ài)', '老', '因', '很', '給', '名', '法', '間', '斯', '知',
'世', '什', '兩', '次', '使', '身', '者', '被', '高', '已', '親', '其', '進(jìn)', '此', '話', '常', '與', '活', '正', '感',
'見(jiàn)', '明', '問(wèn)', '力', '理', '爾', '點(diǎn)', '文', '幾', '定', '本', '公', '特', '做', '外', '孩', '相', '西', '果', '走',
'將', '月', '十', '實(shí)', '向', '聲', '車', '全', '信', '重', '三', '機(jī)', '工', '物', '氣', '每', '并', '別', '真', '打',
'太', '新', '比', '才', '便', '夫', '再', '書', '部', '水', '像', '眼', '等', '體', '卻', '加', '電', '主', '界', '門',
'利', '海', '受', '聽(tīng)', '表', '德', '少', '克', '代', '員', '許', '稜', '先', '口', '由', '死', '安', '寫', '性', '馬',
'光', '白', '或', '住', '難', '望', '教', '命', '花', '結(jié)', '樂(lè)', '色', '更', '拉', '東', '神', '記', '處', '讓', '母',
'父', '應(yīng)', '直', '字', '場(chǎng)', '平', '報(bào)', '友', '關(guān)', '放', '至', '張', '認(rèn)', '接', '告', '入', '笑', '內(nèi)', '英', '軍',
'候', '民', '歲', '往', '何', '度', '山', '覺(jué)', '路', '帶', '萬(wàn)', '男', '邊', '風(fēng)', '解', '叫', '任', '金', '快', '原',
'吃', '媽', '變', '通', '師', '立', '象', '數(shù)', '四', '失', '滿', '戰(zhàn)', '遠(yuǎn)', '格', '士', '音', '輕', '目', '條', '呢',
'病', '始', '達(dá)', '深', '完', '今', '提', '求', '清', '王', '化', '空', '業(yè)', '思', '切', '怎', '非', '找', '片', '羅',
'錢', '紶', '嗎', '語(yǔ)', '元', '喜', '曾', '離', '飛', '科', '言', '干', '流', '歡', '約', '各', '即', '指', '合', '反',
'題', '必', '該', '論', '交', '終', '林', '請(qǐng)', '醫(yī)', '晚', '制', '球', '決', '窢', '傳', '畫', '保', '讀', '運(yùn)', '及',
'則', '房', '早', '院', '量', '苦', '火', '布', '品', '近', '坐', '產(chǎn)', '答', '星', '精', '視', '五', '連', '司', '巴',
'奇', '管', '類', '未', '朋', '且', '婚', '臺(tái)', '夜', '青', '北', '隊(duì)', '久', '乎', '越', '觀', '落', '盡', '形', '影',
'紅', '爸', '百', '令', '周', '吧', '識(shí)', '步', '希', '亞', '術(shù)', '留', '市', '半', '熱', '送', '興', '造', '談', '容',
'極', '隨', '演', '收', '首', '根', '講', '整', '式', '取', '照', '辦', '強(qiáng)', '石', '古', '華', '諣', '拿', '計(jì)', '您',
'裝', '似', '足', '雙', '妻', '尼', '轉(zhuǎn)', '訴', '米', '稱', '麗', '客', '南', '領(lǐng)', '節(jié)', '衣', '站', '黑', '刻', '統(tǒng)',
'斷', '福', '城', '故', '歷', '驚', '臉', '選', '包', '緊', '爭(zhēng)', '另', '建', '維', '絕', '樹', '系', '傷', '示', '愿',
'持', '千', '史', '誰(shuí)', '準(zhǔn)', '聯(lián)', '婦', '紀(jì)', '基', '買', '志', '靜', '阿', '詩(shī)', '獨(dú)', '復(fù)', '痛', '消', '社', '算',
'義', '竟', '確', '酒', '需', '單', '治', '卡', '幸', '蘭', '念', '舉', '僅', '鐘', '怕', '共', '毛', '句', '息', '功',
'官', '待', '究', '跟', '穿', '室', '易', '游', '程', '號(hào)', '居', '考', '突', '皮', '哪', '費(fèi)', '倒', '價(jià)', '圖', '具',
'剛', '腦', '永', '歌', '響', '商', '禮', '細(xì)', '專', '黃', '塊', '腳', '味', '靈', '改', '據(jù)', '般', '破', '引', '食',
'仍', '存', '眾', '注', '筆', '甚', '某', '沉', '血', '備', '習(xí)', '校', '默', '務(wù)', '土', '微', '娘', '須', '試', '懷',
'料', '調(diào)', '廣', '蜖', '蘇', '顯', '賽', '查', '密', '議', '底', '列', '富', '夢(mèng)', '錯(cuò)', '座', '參', '八', '除', '跑',
'亮', '假', '印', '設(shè)', '線', '溫', '雖', '掉', '京', '初', '養(yǎng)', '香', '停', '際', '致', '陽(yáng)', '紙', '李', '納', '驗(yàn)',
'助', '激', '夠', '嚴(yán)', '證', '帝', '飯', '忘', '趣', '支', '春', '集', '丈', '木', '研', '班', '普', '導(dǎo)', '頓', '睡',
'展', '跳', '獲', '藝', '六', '波', '察', '群', '皇', '段', '急', '庭', '創(chuàng)', '區(qū)', '奧', '器', '謝', '弟', '店', '否',
'害', '草', '排', '背', '止', '組', '州', '朝', '封', '睛', '板', '角', '況', '曲', '館', '育', '忙', '質(zhì)', '河', '續(xù)',
'哥', '呼', '若', '推', '境', '遇', '雨', '標(biāo)', '姐', '充', '圍', '案', '倫', '護(hù)', '冷', '警', '貝', '著', '雪', '索',
'劇', '啊', '船', '險(xiǎn)', '煙', '依', '斗', '值', '幫', '漢', '慢', '佛', '肯', '聞', '唱', '沙', '局', '伯', '族', '低',
'玩', '資', '屋', '擊', '速', '顧', '淚', '洲', '團(tuán)', '圣', '旁', '堂', '兵', '七', '露', '園', '牛', '哭', '旅', '街',
'勞', '型', '烈', '姑', '陳', '莫', '魚', '異', '抱', '寶', '權(quán)', '魯', '簡(jiǎn)', '態(tài)', '級(jí)', '票', '怪', '尋', '殺', '律',
'勝', '份', '汽', '右', '洋', '范', '床', '舞', '秘', '午', '登', '樓', '貴', '吸', '責(zé)', '例', '追', '較', '職', '屬',
'漸', '左', '錄', '絲', '牙', '黨', '繼', '托', '趕', '章', '智', '沖', '葉', '胡', '吉', '賣', '堅(jiān)', '喝', '肉', '遺',
'救', '修', '松', '臨', '藏', '擔(dān)', '戲', '善', '衛(wèi)', '藥', '悲', '敢', '靠', '伊', '村', '戴', '詞', '森', '耳', '差',
'短', '祖', '云', '規(guī)', '窗', '散', '迷', '油', '舊', '適', '鄉(xiāng)', '架', '恩', '投', '彈', '鐵', '博', '雷', '府', '壓',
'超', '負(fù)', '勒', '雜', '醒', '洗', '采', '毫', '嘴', '畢', '九', '冰', '既', '狀', '亂', '景', '席', '珍', '童', '頂',
'派', '素', '脫', '農(nóng)', '疑', '練', '野', '按', '犯', '拍', '征', '壞', '骨', '余', '承', '置', '臓', '彩', '燈', '巨',
'琴', '免', '環(huán)', '姆', '暗', '換', '技', '翻', '束', '增', '忍', '餐', '洛', '塞', '缺', '憶', '判', '歐', '層', '付',
'陣', '瑪', '批', '島', '項(xiàng)', '狗', '休', '懂', '武', '革', '良', '惡', '戀', '委', '擁', '娜', '妙', '探', '呀', '營(yíng)',
'退', '搖', '弄', '桌', '熟', '諾', '宣', '銀', '勢(shì)', '獎(jiǎng)', '宮', '忽', '套', '康', '供', '優(yōu)', '課', '鳥', '喊', '降',
'夏', '困', '劉', '罪', '亡', '鞋', '健', '模', '敗', '伴', '守', '揮', '鮮', '財(cái)', '孤', '槍', '禁', '恐', '伙', '杰',
'跡', '妹', '藸', '遍', '蓋', '副', '坦', '牌', '江', '順', '秋', '薩', '菜', '劃', '授', '歸', '浪', '聽(tīng)', '凡', '預(yù)',
'奶', '雄', '升', '碃', '編', '典', '袋', '萊', '含', '盛', '濟(jì)', '蒙', '棋', '端', '腿', '招', '釋', '介', '燒', '誤',
'乾', '坤']
province.py
"""
各身份前兩位地址碼
"""
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]
phone.py
# 手機(jī)號(hào)開(kāi)頭
phone_number = [139,138,137,136,135,134,159,158,15,150,151,152,188,
130,131,132,156,155,133,153,189]
個(gè)人信息生成主代碼:
import random
from name import *
from province import province_id
from phone import phone_number
# 隨機(jī)生成姓名
def get_name():
user_name = ''
# 在百家姓列表里面隨便選擇一個(gè)姓
user_name+=random.choice(first_name)
ran_num = random.randint(0,1)
# 為0生成的名字是兩個(gè)字,為1生成的名字是一個(gè)字
if ran_num ==0:
for i in range(2):
ming = random.choice(second_name)
user_name+=ming
else:
ming = random.choice(second_name)
user_name += ming
# 編碼
user_name.encode('utf-8')
return user_name
# 隨機(jī)生成身份證號(hào)
def get_idnum():
id_num = ''
# 隨機(jī)選擇地址碼
id_num+=str(random.choice(province_id))
# 隨機(jī)生成4-6位地址碼
for i in range(4):
ran_num = str(random.randint(0,9))
id_num+=ran_num
b = get_birthday()
id_num+=b
# 生成15、16位順序號(hào)
num = ''
for i in range(2):
num += str(random.randint(0,9))
id_num+=num
# 通過(guò)性別判斷生成第十七位數(shù)字 男單 女雙
s = get_sex()
print("性別:",s)
if s =='男':
# 生成奇數(shù)
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
# 隨機(jī)生成出生日期
def get_birthday():
# 隨機(jī)生成年月日
year = random.randint(1960,2000)
month = random.randint(1,12)
# 判斷每個(gè)月有多少天隨機(jī)生成日
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
# 匿名函數(shù)
get_sex = lambda :random.choice(['男','女'])
# 隨機(jī)生成手機(jī)號(hào)
def get_tel():
tel = ''
tel+=str(random.choice(phone_number))
ran = ''
for i in range(8):
ran += str(random.randint(0,9))
tel +=ran
return tel
# 隨機(jī)生成銀行卡號(hào)
def get_card_id():
card_id = '62'
for i in range(17):
ran = str(random.randint(0,9))
card_id += ran
return card_id
# 隨機(jī)生成郵箱
def get_email():
email_suf = random.choice(['@163.com','@qq.com','@126.com','@sina.com','@sina.cn','@soho.com','@yeah.com'])
phone = get_tel()
email = phone + email_suf
print("手機(jī)號(hào):",phone)
return email
if __name__ == '__main__':
x = get_name()
print("姓名:",x)
y = get_idnum()
print("身份證號(hào):",y)
z = get_email()
print("郵箱:",z)
w = get_card_id()
print("銀行卡號(hào):",w)
輸出結(jié)果:
姓名: 邱臨
性別: 女
身份證號(hào): 612785197405015485
手機(jī)號(hào): 1535867921
郵箱: 1535867921@163.com
銀行卡號(hào): 6276196552039961131