三次登录验证
1. 三次登錄驗(yàn)證
完成?戶登錄驗(yàn)證
要求:
1. 系統(tǒng)?動(dòng)?成4位隨機(jī)數(shù). 作為登錄驗(yàn)證碼. 直接?就好. 這里不用糾結(jié)
from random import randint
num = 0
verify_code = ""
while num < 4:
verify_code += chr(randint(65, 90))
num += 1
print(verify_code) # 四位隨機(jī)驗(yàn)證碼
2. ?戶輸入?用戶名和密碼還有驗(yàn)證碼.
3. 用戶可以有三次登錄的機(jī)會(huì). 但是驗(yàn)證碼如果輸入錯(cuò)誤. 不計(jì)算在內(nèi)
""" 1. 三次登錄驗(yàn)證完成?戶登錄驗(yàn)證要求:1. 系統(tǒng)?動(dòng)?成4位隨機(jī)數(shù). 作為登錄驗(yàn)證碼. 直接?就好. 這里不用糾結(jié)from random import randintnum = 0verify_code = ""while num < 4:verify_code += chr(randint(65, 90))num += 1print(verify_code) # 四位隨機(jī)驗(yàn)證碼2. ?戶輸入?用戶名和密碼還有驗(yàn)證碼.3. 用戶可以有三次登錄的機(jī)會(huì). 但是驗(yàn)證碼如果輸入錯(cuò)誤. 不計(jì)算在內(nèi)程序?qū)崿F(xiàn):驗(yàn)證碼和用戶名,密碼一起輸入,但是首先判斷驗(yàn)證碼,在驗(yàn)證碼正確的前提下,用戶名或密碼的錯(cuò)誤才算在三次之內(nèi),否則歸咎于驗(yàn)證碼錯(cuò)誤.""" from random import randintuname = 'alex' upsw = 'abc'count = 0 while 1:# 用戶登錄while count < 3:# 生成驗(yàn)證碼,每次重新輸入都要更新驗(yàn)證碼num = 0verify_code = ""while num < 4:verify_code += chr(randint(65, 90)) # 大寫字母的 ASCII 碼num += 1print('驗(yàn)證碼:' + verify_code) # 四位隨機(jī)驗(yàn)證碼 code = input('請(qǐng)輸入驗(yàn)證碼:').strip().upper()name = input('請(qǐng)輸入用戶名:').strip()password = input('請(qǐng)輸入密碼:').strip()if code == verify_code:if name == uname and password == upsw:print('登錄成功')exit() # 退出整個(gè)程序else:print('用戶名或密碼錯(cuò)誤')count += 1continue # 繼續(xù)3次以內(nèi)的循環(huán)else:print('驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入')break # 跳出內(nèi)層的 while循環(huán)else: # 輸錯(cuò)三次print('輸錯(cuò)三次,無法登錄')break # 跳出外層的 while 循環(huán)
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/liangxiaoji/p/10056534.html
總結(jié)
- 上一篇: SpringBoot2.0实现静态资源版
- 下一篇: hdfs 操作 入门api