python学习之自动化开发-DAY1作业-登陆程序

这个是再老男孩教育视频学习的day1课程,主要锻炼下字典的操作,以及文件的创建和读取等,代码如下:

 1 #!/use/bin/env python
 2 #_*_ coding:utf-8 _*_
 3 '''
 4 定义一个用户名密码文件,如果输入的用户名及密码符合用户名密码文件,那么,允许登陆;
 5 否则,打印用户名密码错误,如果,重复登陆同一用户名3次,则把此用户名锁定,不允许再登陆。
 6 '''
 7 #usr_book={'admin':'123456','frank':'1126'}
 8 with open('usr_book.txt','r') as f:
 9     usr_book={}
10     for line in f:
11         #print(line)
12         k,v=line.split()
13         #print(k,v)
14         usr_book[k]=v
15     print(usr_book)
16 lock_name=[]
17 try:
18     for line in open('usr_lock.txt'):
19         #print(line.strip())
20         if line not in lock_name:
21             lock_name.append(line.strip())
22 except:
23     print('')
24 print(lock_name)
25 usr_lock={}
26 exit=False
27 
28 while True:
29     exit = input('press "e"to exit,press anykey to continue:')
30     if exit=='e' or exit=='E':
31         break
32     else:
33         usr_name=input('Please input your user name 
')
34         usr_code=input('Please input your user password
')
35         if usr_name in usr_book.keys() and usr_code==usr_book[usr_name]:
36             print('Welcome Land,%s'%usr_name)
37             break
38         elif usr_name in lock_name or usr_lock.get(usr_name,0)>=2:
39             lock_name.append(usr_name)
40             print('Sorry,this user has been locked! Please try another')
41         else:
42             usr_lock[usr_name]=usr_lock.get(usr_name,0)+1
43             print('Sorry,invalid user name or password')
44 print(lock_name)
45 f=open('usr_lock.txt','w')
46 f.write('
'.join(lock_name))
47 f.close()

 2018-04-12:更新了一下代码,先判断用户名,如果用户名已被锁定,直接打印用户名锁定信息;否则再判断密码,代码如下:

 1 #!/use/bin/env python
 2 #_*_ coding:utf-8 _*_
 3 '''
 4 定义一个用户名密码文件,如果输入的用户名及密码符合用户名密码文件,那么,允许登陆;
 5 否则,打印用户名密码错误,如果,重复登陆同一用户名3次,则把此用户名锁定,不允许再登陆。
 6 '''
 7 #usr_book={'admin':'123456','frank':'1126'}
 8 with open('usr_book.txt','r') as f:
 9     usr_book={}
10     for line in f:
11         #print(line)
12         k,v=line.split()
13         #print(k,v)
14         usr_book[k]=v
15     print(usr_book)
16 lock_name=[]
17 try:
18     for line in open('usr_lock.txt'):
19         #print(line.strip())
20         if line not in lock_name:
21             lock_name.append(line.strip())
22 except:
23     print('')
24 #print(lock_name)
25 usr_lock={}
26 exit=False
27 
28 while True:
29     exit = input('press "e"to exit,press anykey to continue:')
30     if exit=='e' or exit=='E':
31         break
32     else:
33         usr_name=input('Please input your user name 
')
34         if usr_name in usr_book.keys():
35             usr_code=input('Please input your user password
')
36             if usr_code==usr_book[usr_name]:
37                 print('Welcome Land,%s'%usr_name)
38                 break
39             else:
40                 print('Sorry,invalid code!')
41         elif usr_name in lock_name:
42             print('Sorry,this user has been locked! Please try another')
43         elif usr_lock.get(usr_name,0)>=2:
44             lock_name.append(usr_name)
45             print('Sorry,this user has been locked! Please try another')
46         else:
47             usr_lock[usr_name]=usr_lock.get(usr_name,0)+1
48             print('Sorry,invalid user name or password')
49 #print(lock_name)
50 f=open('usr_lock.txt','w')
51 f.write('
'.join(lock_name))
52 f.close()
原文地址:https://www.cnblogs.com/frank1126lin/p/8797534.html