1. 程式人生 > >三次登入驗證

三次登入驗證




1. 三次登入驗證
完成⽤戶登入驗證
要求:
1. 系統⾃動⽣成4位隨機數. 作為登入驗證碼. 直接⽤就好. 這里不用糾結
from random import randint
num = 0
verify_code = ""
while num < 4:
verify_code += chr(randint(65, 90))
num += 1
print(verify_code) # 四位隨機驗證碼

2. ⽤戶輸入⽤使用者名稱和密碼還有驗證碼.
3. 使用者可以有三次登入的機會. 但是驗證碼如果輸入錯誤. 不計算在內

 1 # _*_ coding:utf-8 _*_
 2 
 3 """
 4 1. 三次登入驗證
 5     完成⽤戶登入驗證
 6     要求:
 7         1. 系統⾃動⽣成4位隨機數. 作為登入驗證碼. 直接⽤就好. 這里不用糾結
 8             from random import randint
 9             num = 0
10             verify_code = ""
11             while num < 4:
12                 verify_code += chr(randint(65, 90))
13 num += 1 14 print(verify_code) # 四位隨機驗證碼 15 16 2. ⽤戶輸入⽤使用者名稱和密碼還有驗證碼. 17 3. 使用者可以有三次登入的機會. 但是驗證碼如果輸入錯誤. 不計算在內 18 程式實現:驗證碼和使用者名稱,密碼一起輸入,但是首先判斷驗證碼,在驗證碼正確的前提下,使用者名稱或密碼的錯誤才算在三次之內,否則歸咎於驗證碼錯誤. 19 20 """ 21 from random import randint 22 23 uname = 'alex'
24 upsw = 'abc' 25 26 count = 0 27 while 1: 28 29 # 使用者登入 30 while count < 3: 31 # 生成驗證碼,每次重新輸入都要更新驗證碼 32 num = 0 33 verify_code = "" 34 while num < 4: 35 verify_code += chr(randint(65, 90)) # 大寫字母的 ASCII 碼 36 num += 1 37 print('驗證碼:' + verify_code) # 四位隨機驗證碼 38 39 code = input('請輸入驗證碼:').strip().upper() 40 name = input('請輸入使用者名稱:').strip() 41 password = input('請輸入密碼:').strip() 42 if code == verify_code: 43 if name == uname and password == upsw: 44 print('登入成功') 45 exit() # 退出整個程式 46 else: 47 print('使用者名稱或密碼錯誤') 48 count += 1 49 continue # 繼續3次以內的迴圈 50 else: 51 print('驗證碼錯誤,請重新輸入') 52 break # 跳出內層的 while迴圈 53 else: # 輸錯三次 54 print('輸錯三次,無法登入') 55 break # 跳出外層的 while 迴圈
參考程式碼