1. 程式人生 > >Python小程序練習一之登陸接口

Python小程序練習一之登陸接口

AD lse aps 錯誤 用戶名 添加 admin 賬戶 AS

登陸接口並實現猜數字遊戲

  • 輸入用戶名密碼
  • 認證成功後顯示歡迎信息
  • 進行猜數字遊戲,可猜三次
  • 輸錯三次後鎖定

1、Adduser.py

技術分享圖片
 1 # The author is tou
 2 import pickle
 3 #初始化用戶以及密碼
 4 user_dict = {"admin":{"passwd":"admin","flag":"unlock"}}  #字典
 5 
 6 #把賬號,密碼保存到文件中
 7 with open("admin.txt","wb+",)as f_write:
 8     pickle.dump(user_dict,f_write)
9 with open("admin.txt","rb+")as f_read: 10 x = pickle.load(f_read) 11 print(x)
添加用戶

2、Log In.py

技術分享圖片
 1 # The author is tou
 2 import pickle
 3 import random
 4 
 5 with open("admin.txt","rb+") as f:        #載入用戶賬戶密碼信息
 6     user_dict = pickle.load(f)
 7 exit_flag = False                         #
初始化鎖定的狀態為false 8 count_lock = 0 #初始化賬號鎖定次數為0次 9 10 print("*********歡迎登陸************".center(10)) 11 while True: 12 user = input("請輸入賬號:").strip() #strip()的作用是在輸入賬號密碼的時候去掉你輸入數據中最前面或者最後面的空格 13 if user == "":continue #用戶名為空,重新輸入 14 passwd = input("
請輸入密碼:").strip() 15 16 #判斷是否存在輸入的賬號 17 if user_dict.get(user): 18 #判斷賬號是否鎖定,鎖定則退出 19 if user_dict[user]["flag"] == "lock": 20 print("賬號已經鎖定,請解鎖!") 21 break 22 #驗證密碼是否正常 23 if user_dict[user]["passwd"] == passwd: 24 while True: 25 guess_choise = input("你要開始玩猜數字遊戲嗎?(選擇yes或no):").strip() 26 if guess_choise == "":continue 27 elif guess_choise =="yes": 28 print("歡迎登陸Python自動化開發——猜數字遊戲系統") 29 print("******************************************") 30 print("猜數字的範圍在1到10之間") 31 real_num = random.randrange(1,11) #隨機生成1到10之間的一個數字 32 retry_count = 0 33 while retry_count<3: #有3次機會猜數字 34 guess_num = input("請輸入你猜的數字:").strip() 35 if guess_num == "":continue 36 if guess_num.isdigit(): #isdigit() 方法檢測字符串是否只由數字組成。 37 guess_num = int(guess_num) 38 if guess_num > real_num: 39 print("錯誤,請輸入一個小一點的數字!") 40 elif guess_num < real_num: 41 print("錯誤,請輸入一個大一點的數字!") 42 else : 43 print("恭喜你,猜到你的幸運數字%s!!!"%real_num) 44 break 45 else: 46 print("輸入的不是數字,請重新輸入一個數字") 47 continue 48 retry_count +=1 49 if retry_count == 3: 50 print("三次機會已用完,幸運數字是%s"%real_num) 51 break 52 53 elif guess_choise == "no": #不想猜數字遊戲,則直接退出系統 54 print("歡迎再次登錄!") 55 exit_flag = True 56 break 57 else: 58 print("你輸入的不是yes或者no,請重新輸入") 59 continue 60 else: 61 count_lock +=1 #密碼不正確,統計輸錯次數 62 if(3-count_lock): 63 print("賬號或密碼錯誤,還有%s次機會嘗試登陸!"%(3-count_lock)) 64 65 if count_lock == 3: #若鎖定次數有3次,就鎖定賬號 66 with open("admin.txt","wb+") as f: 67 user_dict["admin"]["flag"] = "lock" #標記賬號admin為鎖定狀態 68 user_dict = pickle.dump(user_dict,f) #修改後的數據寫到admin.txt中 69 print("**************************************************") 70 print("賬號被鎖定,請解鎖!") 71 break 72 else: 73 print("輸入的賬號不存在,請重新輸入!") 74 continue 75 76 if exit_flag: 77 break 78 print("拜拜!!!")
登錄開始遊戲

轉載:文章出處

Python小程序練習一之登陸接口