首页 > 技术文章 > Python学习之登陆认证

chfang007 2018-04-11 20:29 原文

需求:

让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)

代码如下:

 1 # -*- coding: utf-8 -*-
 2 # __date__ = 3/12/2018 
 3 
 4 count = 0
 5 users = {'chfang':'12345', 'alice':'abcde', 'admin':'admin'}         #利用字典存储多个用户名/密码
 6 _name = input("Username: ")
 7 if _name in users:          #判断用户输入的用户名是否在字典中
 8     lock_file_name = _name + "_lock.txt"    #根据用户名读取对应文件中的锁定状态码(0表示允许登录,1表示帐号被锁定)
 9     with open(lock_file_name, "r") as fp:
10         _lock = fp.read()
11     if _lock == "0":
12         while count < 3:
13             count += 1
14             _passwd = input("Password: ")
15             if _passwd == users.get(_name):      #根据用户名在从字典中取出其对应的密码
16                 print("登录成功!欢迎%s" % _name)
17                 with open(lock_file_name, "w") as f1:
18                     f1.write("0")
19                 break
20             else:
21                 print("登录失败!剩余重试次数%d" % (3 - count))
22                 with open(lock_file_name, "w") as f1:
23                     f1.write("1")
24     elif _lock == "1":
25         print("您的账户已被锁定,请联系管理员!")
26     else:
27         print("状态文件不能为空,请联系管理员!")
28 else:
29     print("用户不存在!")
30 print("-----------------------------")      #仅作结束提示用途
基础功能均能实现。

推荐阅读