这个是再老男孩教育视频学习的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()