需求:
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 break11 else:12 continue13 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 break25 else:26 print("wrong password!") #否则密码错误,重新输入密码,即可用再输入两次27 for count in range(0,2):28 count = count + 129 password = input("please input your password:")30 if password == account_pass:31 print("welcome to login") #如果再次输入的密码正确,则跳出32 break33 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")
#
帳號檔案:
account_file.txt
clv 123gl 123
#鎖定檔案:
lock+_file.txt
1 clv
初次編寫,看老男孩視頻,想了很久,折騰了個大概,還是蠻開心的
以上是使用者登入程序怎麼實現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!