#将会用到的包import进来
import random
import string
import time
blacklist=[]#黑名单用于储存被锁定账户
dic={}#存放账号及密码
dic2={}#保存密保,用于用户找回密码
def op(dic, n):#根据用户输入的数字将进入相对应的页面
if n == 1:#登录
login()
elif n == 2:#注册
register()
elif n == 3:#找回密码
findpwd()
elif n == 4:
changepwd()
elif n == 5:#退出
print('欢迎下次使⽤ ')
exit(0)
else:
print('您输入的数字不合法,感谢您的使用')
#生成一个6位验证码
def test():#验证码
capta = ''
words = ''.join((string.ascii_letters, string.digits)) ##生成大小写字母和数字串
for i in range(6):
capta += random.choice(words) ##随机选择一个字母或数字
print('验证码为:%s' % capta)
while not (input('请输入验证码:') == capta):
print('验证码错误,请重新输入:')
print('登陆成功')
def login():#登录页面
count = 1#记录用户输入密码次数
name = input('请输入您的账号:')
for i in blacklist:#遍历列表,判断账号是否被锁定
if i==name:
print('该账户已被锁定')
returnq()
pwd = input('请输入您的密码(您只有有三次机会!若三次输入都不正确,该账户将被锁定,但是您可以选择找回密码解锁您的账户):')
if name in dic:#若账号已注册
while count <3:
if dic[name] == pwd:
test()
print('登入成功,祝您玩的愉快\n系统将于两秒后跳转')
time.sleep(2)
exit(0) # 进行下一步,接入界面
else:
count+=1
pwd=input('密码错误,请重新输入密码')
if count == 3:
blacklist.append(name)
print('由于您三次输入密码错误,该账号已被锁定')
returnq()
if name not in dic:
print('账号不存在,建议您回到首页后选择注册')
returnq()
def returnq():#回到首页面
respond = input('输⼊q回到⾸⻚重新选择功能:')
if 'q' == respond:
res()
else:
exit(0)
def register():#注册
name = input('请输入您要注册的账号:')
if name in dic:
print('该账号已经被注册了哦,请输入q返回首页重新登入')
else:
pwd = input('请输入您的密码(为保证安全,至少为八位):')
while len(pwd) < 8:
pwd = input('请输入您的密码(为保证安全,至少为八位):')
dic[name] = pwd
dic2[name] = input('请输入您的密保(当您忘记密码时,可通过密保找回你的密码):')
print('注册成功,请输入q返回首页重新登入')
returnq()
def findpwd():#找回密码
username = input('请输入您想找回密码的账户')
if username in dic:
secret = input('请输入密保')
if secret == dic2[username]:
print('您的密码是%s'%(dic[username]))
if username in dic2:#若在黑名单中,解锁该账户
del dic2[username]
returnq()
else:
print('您输入的密保错误')
returnq()
elif username not in dic:
print('该账号不存在,可能您还未注册此账号')
returnq()
def changepwd():
username = input('请输入您的账号:')
if username not in dic:
print('您输入的账号不存在')
else:
userpwd = input('请输入您修改前的密码:')
if dic[username] == userpwd:
pwd = input('请输入您的新密码(为保证安全,至少为八位):')
while len(pwd) < 8:
pwd = input('请输入您的新密码(为保证安全,至少为八位):')
dic[username] = pwd
returnq()
def res():#主页面
print('''
=======登⼊系统=======
1.登⼊
2.注册
3.找回密码
4.修改密码
5.退出
''')
n = int(input('请选择操作:'))
op(dic, n)
res()