python---用戶登錄程序


需求:

1. 用戶登錄,判斷用戶名密碼是否正確

2. 密碼輸入三次不對則鎖定賬號

3. 鎖定賬號無法登錄

分析:

1. 輸入賬號,判斷賬號是否存在,即賬號是否在賬號文件中存在;

2. 如果賬號存在,則判斷密碼是否正確,如果密碼正確,則登錄成功,密碼不對,提示再次輸入,超過三次,鎖定賬號,並寫入鎖定文件;

3. 如果賬號不存在,則提示賬號不存在

 1 # -*- coding:utf-8 -*-
 2 # LC
 3 username = input("please input your username:")         #輸入用戶名
 4 #檢查用戶名是否被鎖住
 5 lock_read = open("lock_file.txt","r")
 6 for lock in lock_read:
 7     lock_user = lock.strip()        #取出lock文件里面的用戶信息
 8     if username == lock_user:
 9         print("You have been locked!")
10         break
11     else:
12         continue
13 lock_read.close()                   #讀取完畢
14 
15 if username != lock_user:
16     password = input("please input your password:")         #如果用戶沒有再lock文件中,則輸入密碼
17     with  open("account_file.txt") as user_info:            #打開用戶賬號文件
18         for account in user_info:                               #查看輸入的用戶是否再賬號文件內
19             account_user = account.strip().split(" ")[0]
20             account_pass = account.strip().split(" ")[1]
21             if username == account_user:                        #如果輸入的用戶名在用戶文件中存在
22                 if password == account_pass:
23                     print("welcome to login")               #密碼正確,則判斷登錄成功
24                     break
25                 else:
26                     print("wrong password!")                #否則密碼錯誤,重新輸入密碼,即可用再輸入兩次
27                     for count in range(0,2):
28                         count = count + 1
29                         password = input("please input your password:")
30                         if password == account_pass:
31                             print("welcome to login")          #如果再次輸入的密碼正確,則跳出
32                             break
33                         else:
34                             print("wrong password")
35                     if count == 2:                              #如果三次輸錯,則寫入lock文件中,采用追加寫入的方式
36                         lock_write = open("lock_file.txt","a+")
37                         lock_write.write("\n")
38                         lock_write.write(username)
39                         lock_write.close()
40         if username!=account_user:                                     #如果賬號文件內沒有此賬號,則提出沒有此用戶信息
41             print("No this user")
View Code

 

賬號文件: 

account_file.txt

clv 123
gl 123
View Code

鎖定文件:

 lock+_file.txt

1 clv
View Code

 

初次編寫,看老男孩視頻,想了很久,折騰了個大概,還是蠻開心的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM