Python基础-用户验证

一、项目需求

  1、根据用户名和密码,验证用户是否可登陆

  2、允许一次执行可验证三次

  3、当用户名输错三次后,该用户名锁定,永久不可登陆

 

二、代码如下

  

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 #import operator
 4 n = 0
 5 username="user123"
 6 password="123.abc"
 7 count_dict={}
 8 tmp_dict={}
 9 with open("lock",mode="r+",encoding="utf8") as f_read,open("lock_tmp",mode="a+",encoding="utf8") as f_write:
10 #lock文件和lock_tmp要先创建
11     while n<3:
12         name=input("please input username:").strip()
13         pwd=input("please input passwd:").strip()
14         for line in f_read:
15             if name in line:
16                 print("当前用户已经被锁定,请联系管理员!!")
17                 exit()
18         if name == username and pwd == password:
19             print("欢迎%s登录"%username)
20             exit()
21         else:
22             print("用户名或密码错误,请重新输入!")
23             f_write.write(name+"\n")
24             if name not in tmp_dict:
25                 tmp_dict[name]=1
26             else:
27                 tmp_dict[name]+=1
28         n+=1
29     # print(tmp_dict)
30     for line in f_write.readline():
31         line = line.strip()
32         count = count_dict.setdefault(line,0)
33         count+=1
34         count_dict[line]=count
35     print(count_dict)
36     f_write.seek(0)
37     for k in count_dict.keys():
38         print(k,count_dict[k])
39         # print(count_dict[k])
40         if count_dict[k] >= 3:
41             f_read.write(k+"\n")
42     for k1 in tmp_dict.keys():
43         if tmp_dict[k1]>=3:
44             f_read.write(k1+"\n")

 

转载于:https://www.cnblogs.com/baomanji/p/6680996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值