# 生成1个4位验证码,包括数字和小写字母
# 第一种是比较复杂的方式。引入随机数库random
import random
# 初始化列表数据,把10个数字和26个小写字母都初始化到1个列表里,因为太多,所以就写了一部分
all_row_code = ['0','1','3','4','5','6','7','a','c','e','e','f','j','k','p','g']
# 初始化1个空列表,稍微填充数据
my_code_list = []
# range(4)的意思是[0,1,2,3],这里主要目的是循环4次
for i in range(4):
# []里先取到列表的长度,-1是顺序,因为0是第1个,n-1是第n个。
# random.randit(0,n-1),取值1-n之间的任意1个正整数
# 最后list[n]是取值列表的任意1条数据
gen_row = all_row_code[random.randint(0,len(all_row_code)-1)]
# list.append(),向列表里填充数据
my_code_list.append(gen_row)
# 用''.join合并输出,','.join是每条数据逗号隔开->输出
print('我的4位验证码:',''.join(my_code_list))
# 第二种是比较简单的方法. 引入随机数库和字符串库
import random
import string
# string.ascii_letters,所有大写+小写字母
# string.ascii_lowercase,所有小写字母
# string.ascii_uppercase,所有大写字母
# string.digits,10个数字
code1 = string.ascii_letters
code2 = string.ascii_lowercase
code3 = code1 + code2
# random.sample随机取值,取4个
code4 = random.sample(code3,4)
# 连接输出
code = ''.join(code4)
print('我的4位验证码是:%s'%(code))
# 第三种方法,只写一行代码
import random
import string
print('我的4位验证码是:%s'% ''.join(random.sample((string.ascii_lowercase + string.digits),4)))