Python做業模擬登錄(第一週)

模擬登錄:
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()
View Code

passwd文件內容blog

colin 123456
python 123456
golang 123456

lock文件內容ip

colin1
colin2
相關文章
相關標籤/搜索