python版本为python3.5
1.要求
1)输入用户名密码
2)认证成功后显示欢迎信息
3)输错三次后锁定
2.需求分析
1)用户信息存储在文件中(login/config/user_login.txt)
2)用户输入用户名和密码
3)判断用户名是否存在,存在则继续,不存在则提示继续输入
4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续
5)匹配文件中的用户信息
6)如果匹配则打印出欢迎信息
7)如果输入3次密码错误,则锁定该用户名(login/config/name_lock.txt)
3.测试用户
bigberg:123abc
lc:123456
smallberg:111111
root:12345
dinasor:12321
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# -*- coding: UTF-8 -*- #Author:Bigberg #定义一个循环计数 count = 0 #定义一个字典存储用户名和密码 names = {} #定义一个列表存储用户名 name_exit = [] #输入用户名 username = input ( "username:" ) #判断输入的用户的用户是否在用户名单中 with open ( "../config/name_login.txt" , 'r' ) as f: while True : line = f.readline().strip() if not line: break else : name = line.split( ':' )[ 0 ] passwd = line.split( ':' )[ 1 ] names[name] = passwd for key in names: name_exit.append(key) #判断用户名是否正确,不正确则继续输入 while username not in name_exit: print ( "The account is not exit.Check it again." ) username = input ( "username:" ) else : # 读取锁定文件中的内容 with open ( "../config/name_lock.txt" , "r" ) as f: lock_name = f.read() # 判断用户名是否在锁定文件中,如果在就退出程序 if username = = lock_name: print ( "Sorry.Your account has been locked." ) exit() else : # 3次输入密码的机会 while count < 3 : passwd_input = input ( "password:" ) # 判断用户名和密码是否有效 if passwd_input = = names[username]: print ( "Welcome!" , username) break else : print ( "Error,please try again." ) count + = 1 # 如果3次输入密码错误,则将用户名添加到锁定文件 if count = = 3 : with open ( "../config/name_lock.txt" , "w" ) as f: f.write( "%s" % username) print ( "You have tried 3 times,and your account will be locked" ) |
总结
以上就是本文关于Python基础练习之用户登录实现代码分享的全部内容,希望对大家有所帮助。有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!
原文链接:http://www.cnblogs.com/bigberg/p/6419986.html#3625687