import random def main(): list_num = [1,2,3,4,5,6,7,8,9,0] list_str = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','s','t','x','y','z'] veri_str = random.sample(list_str,2) veri_num = random.sample(list_num,2) veri_out = random.sample(veri_num + veri_str,4) veri_res = str(veri_out[0]) + str(veri_out[1]) + str(veri_out[2]) + str(veri_out[3]) print(veri_res) if __name__ == '__main__': main()
这里有两个问题:
1、如何简化list_str 生成一个a-z的列表,这里我就用比较笨的方法一个一个列出来了
2、不知道python有没有一键式的函数,生成验证码的那种
如知道以上两个问题的,可以留言告诉我一下,不胜感激!~
对于上面的问题,经过昨天下午的测试和练习以不同函数分开的方法拼接而成,这样方便后面对于不同模块的使用。
版本二:
import random veri_list = [] #通过chr()函数取随机大写字母A-Z def A_str(): for i in range(4): veri_num1 = random.randint(65,90) #取值65-90随机一个整数 veri_str1 = chr(veri_num1) veri_list.append(veri_str1) #通过chr()函数取随机小写字母a-z def a_str(): for i in range(4): veri_num2 = random.randint(97,122) # 取值98-122随机一个整数 veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机 veri_list.append(veri_str2) #通过chr()和ord()函数取随机数字0-9 def num_1(): for i in range(4): veri_num3 = random.randint(48,57) veri_str3 = chr(veri_num3) veri_list.append(veri_str3) #执行主函数 def main(): A_str() a_str() num_1() veri_res = random.sample(veri_list,4) # print(veri_res) print(str(veri_res[0]) + str(veri_res[1]) + str(veri_res[2]) + str(veri_res[3])) if __name__ == '__main__': main()
版本三:
import random veri_list = [] # 通过chr()函数取随机大写字母A-Z def A_str(): for i in range(2): veri_num1 = random.randint(65, 90) # 取值65-90随机一个整数 veri_str1 = chr(veri_num1) veri_list.append(veri_str1) # 通过chr()函数取随机小写字母a-z def a_str(): for i in range(2): veri_num2 = random.randint(97, 122) # 取值98-122随机一个整数 veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机 veri_list.append(veri_str2) # 通过chr()和ord()函数取随机数字0-9 def num_1(): for i in range(2): veri_num3 = random.randint(48, 57) veri_str3 = chr(veri_num3) veri_list.extend(veri_str3) #通过列表生成随机特殊字符 def s_str(): tstr = ['!', '@', '#', '$', '%', '&', '_'] veri_num4 = random.sample(tstr,2) veri_list.extend(veri_num4) # 执行主函数 def main(): A_str() a_str() num_1() s_str() res_str=random.sample(veri_list,8) print(''.join(res_str)) if __name__ == '__main__': main()
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦