用户登入:

用户登入:

要求:

  1. 处理文件中的数据拿账号和密码
  2. 如果用户名在账户里,判断是否是黑名单
  3. 让用户输入三次密码成功,超过三次冻结该账户,拉黑

创建三个表:

accountlist = []
pwdlist = []
blacklist = []
sign = True
while sign:
1.输入用户名
	2.读取账户和密码
	3.把账户添加到accountlist,把密码添加到pwdlist   [账户 和 密码在列表中的索引号是一一对应的]
	4.判断该用户是否在当前用户列表中
	5.打开黑名单用户 
	6.把黑名单用户添加到对应的列表中
	7.判断是否该用户在黑名单里 ,该账户已被冻结
	8.如果符合条件,不在黑名单里面,询问密码
	9.通过索引,对应的下标拿到密码
	10.可以询问用户的密码: 只有三次机会.如果密码一致,则登陆成功,终止外层循环,不一致,则累加次数
	如果输入次数=0 ,把当前这个用户加入黑名单
11.该用户不存在

代码:

accountlist = []
pwdlist = []
blacklist = []

sign = True
while sign:
	username = input("请输入您的用户名:")
	
	with open("user.txt",mode ="r",encoding="utf-8") as fp:
		lst = fp.readlines()
		for i in lst:
			user,password = i.strip().split(":")
			accountlist.append(user)
			pwdlist.append(password)
			
	if username in accountlist :
		with open("black.txt",mode="r+",encoding="utf-8") as fp:
			lst = fp.readlines()
			for i in lst:
				blacklist.append(i.strip())
				
				
		if username in blacklist:
			print("该账户已经被冻结")
		else:
			num = accountlist.index(username)
			pwd_true = pwdlist[num]
			
			times = 0
			while times < 3:
				pwd2 = input("请输入您的密码:")
				if pwd_true == pwd2:
					print("登入成功")
					sign = False
					break
					
				else:
					print("抱歉,密码输入错误,还剩下%s次" % (2-times))
					
					if times == 2:
						print("抱歉,您的账户已经被冻结,请联系管理员")
						with open("black.txt",mode="a+",encoding="utf-8")as fp:
							strvar = username + "\n"
							fp.write(strvar)
							
				times += 1
	else:
		print("用户名不存在")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值