隨機生成10位數(shù)密碼,字母和數(shù)字組合
import string >>> import random >>> pwd = "" >>> letters=string.ascii_letters+string.digits >>> for i in range(10): ... letter=random.choice(letters) ... pwd += letter ... >>> print(pwd)
利用推導列表生成
"".join([random.choice(string.ascii_letters+string.digits) for i in range(10)])
?PS:下面看下Python生成隨機密碼
?一、生成隨機密碼要實現(xiàn)的功能:
1、輸入次數(shù),輸入多少次就產(chǎn)生多少條數(shù)據(jù)
2、要求密碼必須包含大寫字母、小寫字母和數(shù)字,長度8位,不能重復
二、實現(xiàn)代碼
import random,string src = string.ascii_letters + string.digits count = input('請確認要生成幾條密碼: ') list_passwds = [] for i in range(int(count)): list_passwd_all = random.sample(src, 5) #從字母和數(shù)字中隨機取5位 list_passwd_all.extend(random.sample(string.digits, 1)) #讓密碼中一定包含數(shù)字 list_passwd_all.extend(random.sample(string.ascii_lowercase, 1)) #讓密碼中一定包含小寫字母 list_passwd_all.extend(random.sample(string.ascii_uppercase, 1)) #讓密碼中一定包含大寫字母 random.shuffle(list_passwd_all) #打亂列表順序 str_passwd = ''.join(list_passwd_all) #將列表轉(zhuǎn)化為字符串 if str_passwd not in list_passwds: #判斷是否生成重復密碼 list_passwds.append(str_passwd) print(list_passwds)
三、利用集合的交運算實現(xiàn)
import random,string passwds = [] #保存符合要求的密碼 count = input('請確認要生成幾條密碼: ') i = 0 #記錄符合要求的密碼個數(shù) while i < int(count): passwd = set(random.sample(string.ascii_letters + string.digits,8)) #從字母和數(shù)字中隨機抽取8位生成密碼 if passwd.intersection(string.ascii_uppercase) and passwd.intersection(string.ascii_lowercase) and passwd.intersection(string.digits): #判斷密碼中是否包含大小寫字母和數(shù)字 passwds.append(''.join(passwd)) #將集合轉(zhuǎn)化為字符串 i += 1 #每生成1個符合要求的密碼,i加1 print(passwds)
四、利用正則表達式實現(xiàn)
import re, random, string count1 = int(input('請輸入密碼個數(shù)(必須大于0): ')) i = 0 passwds = [] while i < count1: tmp = random.sample(string.ascii_letters + string.digits, 8) passwd = ''.join(tmp) if re.search('[0-9]', passwd) and re.search('[A-Z]', passwd) and re.search('[a-z]', passwd): passwds.append(passwd) i += 1 print(passwds)
總結(jié)
以上所述是小編給大家介紹的python 隨機生成10位數(shù)密碼的實現(xiàn)代碼 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
