1. 程式人生 > >python成長之路-----day1-----作業(登入程式和三級選單) python成長之路-----day1-----作業(登入程式和三級選單)

python成長之路-----day1-----作業(登入程式和三級選單) python成長之路-----day1-----作業(登入程式和三級選單)

python成長之路-----day1-----作業(登入程式和三級選單)

作業:

作業1:使用者登入

1)程式說明:

a.使用者輸入密碼驗證成功然後列印歡迎資訊

b.如果密碼錯誤,使用者登入失敗,提示使用者,密碼錯誤

c.使用者輸入密碼錯誤3次,則使用者鎖定

d.當用戶多次輸入不存在的使用者時,提示錯誤資訊,並讓使用者等待10s之後再次輸入

賬戶資訊儲存在user.txt中,例子:dean,dean123,0 這三個值分別表示的含義:第一位是:username,第二位是:password,第三位表示使用者的狀態,0表示正常,1表示鎖定

2)流程圖如下:

3)程式程式碼:

複製程式碼
 1 #AUTHOR:FAN
 2 import time  3 #定義一個使用者字典  4 user_dict={}  5 #定義一個使用者列表  6 user_list=[]  7  8 f=open("user.txt",'r')  9 #用for迴圈獲取檔案中每行的內容,並寫入到字典中,value_interm[0]表示username,value_interm[1]表示password,value_interm[2]表示 10 #賬戶的鎖定資訊:0表示正常,1表示鎖定 11 for line in f.readlines(): 12 useriterm = line.strip() 13 value_interm = useriterm.split(',') 14 value_username = value_interm[0] 15 value_password = value_interm[1] 16 value_lock = value_interm[2] 17 user_dict[value_username]={ 18 "name":value_username, 19 "password":value_password, 20 "lock":value_lock 21  } 22 f.close() 23 #print(user_dict) 24 #定義個count_num使用者計算使用者輸入錯誤使用者的次數 25 count_num = 0 26 #用於跳出多層迴圈 27 flag = True 28 while flag: 29 if count_num == 3: 30 print("dute to input non-existent user ,you need to wait 10s") 31 time.sleep(10) 32 # 獲取使用者輸入的使用者名稱 33 user_name = input("please input your username:") 34 if user_name in user_dict.keys(): 35 #print(type(user_dict[user_name]["lock"])) 36 #判斷使用者是否被鎖定 37 if int(user_dict[user_name]["lock"]) == 0: 38 for i in range(3): 39 password = input("please input you password:") 40 #判斷密碼是否正確 41 if password == user_dict[user_name]["password"]: 42 print("welcome to login my system!") 43 flag=False 44 break 45 else: 46 print("password is error") 47 else: 48 #使用者輸入密碼錯誤三次後被鎖定 49 user_dict[user_name]["lock"]="1" 50 f = open("user.txt","w+") 51 #將字典裝換成列表,將改變的資訊寫入到檔案中 52 for value in user_dict.values(): 53 user_list =[value["name"],value["password"],value["lock"]] 54 user_list =",".join(user_list) 55 f.write(user_list+"\n") 56 print("you input wrong password too many,the user is locked") 57 break 58 else: 59 print("user is locked") 60 else: 61 print("user is not exist") 62 count_num+=1
複製程式碼

 作業2:三級選單

1)程式說明:

a.使用者執行程式後,列印第一級選單

b.使用者輸入相應的編號進入下一級選單,當編號錯誤的時候會提示使用者輸入錯誤,並讓使用者