# -*- coding:utf-8 -*-# author: Wu changhao #基础需求:#让用户输入用户名密码#认证成功后显示欢迎信息#输错三次后退出程序 count = 1 #计数器number = 3 #剩余次数while count <= 3: #循环3次错误后,退出程序。 username = input("please input your is username :") password = input("please input your is password :") number -= 1 #剩余次数每次减一次 if username == "changhao" and password == "null": #判断正确的用户名和密码 print("登陆成功,欢迎您%s!" % username) break #登陆成功后跳出while循环关闭程序 else: if count <= 2: #判断失败允许登陆三次 print("登陆失败,请重新输入。剩余次数%s" % number) elif count == 3: #判断连续失败三次,退出程序。 print("登陆失败!剩余次数%s" % number) break #剩余次数为0时,跳出while循环关闭程序 else: print("登陆失败!") break count += 1 #计数器每次循环累加一次 #升级需求:#可以支持多个用户登录(提示,通过列表存多个账户信息)#用户3次认证失败后,退出程序,再次启动程序尝试登陆时还是锁定状态 count = 1 #计数器number = 3 #剩余次数userdisc = {"xiaohong":0, "xiaoming":1, "xiaojun":2} #用字典生成用户账户信息file = open(‘lock_user.txt‘, ‘r‘) #打开锁文件,设置为只读模式lock_file = file.readline() #将文件实例化文本文件file.close() #关闭文件 while count <= 3: #循环3次错误后,退出程序。 number -= 1 # 剩余次数每次减一次 username = input("please input your is username :") password = input("please input your is password :") if username in lock_file: #如果账户名存在锁文件内,则告知用户被锁定。 print("您好,%s账户已被锁定!" % username) break elif username in userdisc and password == "null": #如果用户名存在用户字典内并且密码匹配,则成功登陆。 print("您好%s,登录成功!" % username) break else: if count <= 2: #判断失败小于等于2次,则输出。 print("登陆失败,请重新输入。剩余次数%s" % number) elif count == 3: #判断连续失败三次,则执行。 file = open(‘lock_user.txt‘, ‘w‘) #打开锁定文件,设置为写模式。 if username in userdisc: #如果用户存在用户字典中,将用户账户写入锁定文件。 file.write(username) file.close() print("登陆失败!剩余次数%s" % number) else: print("登陆失败!剩余次数%s" % number) break #剩余次数为0时,跳出while循环关闭程序 else: pass count += 1 #计数器每次循环累加一次
时间: 2024-10-11 00:25:47