源码如下:
def u_p():
user_name = input('账号:')
password = input('密码:')
if len(user_name) <= 6 or len(user_name) >= 12:
print('账号格式错误,请重新输入')
u_p()
else:
yzm()
def yzm():
code = ''
li = []
li1 = []
li2 = []
li3 = []
for i in range(0, 6):
num = str(random.randint(0, 9))
li.append(num)
ret = random.sample(li, 2)
for j in range(0, 6):
zm_big = chr(random.randint(65, 90))
li1.append(zm_big)
ret1 = random.sample(li1, 2)
for k in range(0, 6):
zm_small = chr(random.randint(97, 122))
li2.append(zm_small)
ret2 = random.sample(li2, 2)
li3.extend(ret)
li3.extend(ret1)
li3.extend(ret2)
random.shuffle(li3)
for l in li3:
code = ''.join([code, l])
print('验证码:%s' % code)
user_yzm = str(input('请输入上述验证码:'))
if user_yzm != code:
print('验证错误,请输入正确的验证码!')
yzm()
else:
print('验证通过,欢迎!')
exit()
u_p()
注:
random.shuffle()
li = [i for i in range(5)]
random.shuffle(li)
print(li)
- 1.打乱传入的容器内部顺序并返回(洗牌)
- 2.只能是列表,(,)不能改变,字典及集合不支持索引
random.sample()
li = [1, 2, 33, 444, 5321]
print(random.sample(li, 2))
- 1.随机取样
- random.sample(li, 2) 意思是在列表li中随机取2个数据