模擬登錄:
1. 用戶輸入賬號密碼進行登錄
2. 用戶信息保存在文件內
3. 用戶密碼輸入錯誤三次後鎖定用戶python
思路:golang
1. 用戶名密碼文件爲passwd,鎖定用戶文件爲lockide
2. 用戶輸入帳號密碼採用input輸入,分割passwd文件出user,passwd字段並比較input的user和passwdthis
3.當用戶三次輸入錯誤後將input user寫入到lock文件,讀取時判斷是否在lock文件中存在spa
流程圖:rest
代碼展現(Python 3.6):code
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author: Colin Yao 4 """模擬登錄做業""" 5 import time,sys,getpass 6 print("Welcome Please input your username and shopping_db ") 7 account_file = 'passwd' 8 lock_file = 'lock' 9 count = 0 10 11 while count <3: 12 username = input("username : ") 13 password = input("Passwd : ") 14 #password = None 15 #password = getpass.getpass("Passwd : ") #可使用密文或者明文 16 lock_f = open("lock", "r+") 17 lock_userlist = lock_f.readlines() 18 19 for lock_user in lock_userlist: 20 lock_user = lock_user.strip('\n') 21 if username == lock_user: 22 print("%s is lockd 30s later this program will end " % lock_user) 23 time.sleep(30) 24 sys.exit() 25 26 with open("passwd", "r") as f: 27 userlist = f.readlines() 28 for user_line in userlist: 29 (user, passwd) = user_line.strip('\n').split() 30 if username == user: 31 if password == passwd: 32 print('welcome %s ' % username) 33 sys.exit(0) 34 elif password == None: 35 print("not allow none") 36 else: 37 pass 38 else: 39 print("sorry username or shopping_db wrong try again" ) 40 count += 1 41 42 else: 43 lock_f.write(username + '\n') 44 sys.exit("please restart and user:%s is locked " %username) 45 lock_f.close()
passwd文件內容blog
colin 123456 python 123456 golang 123456
lock文件內容ip
colin1 colin2