Python学习之编写登陆认证程序

Posted chfang007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习之编写登陆认证程序相关的知识,希望对你有一定的参考价值。

需求:

让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户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("-----------------------------")      #仅作结束提示用途
基础功能均能实现。

以上是关于Python学习之编写登陆认证程序的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之模块

跟着金角大王学Python-课后作业:编写登陆接口

python入门学习之Python爬取最新笔趣阁小说

python学习之对象的三大特性

Python面向对象学习之八,装饰器

Python 01 学习之初