需求:Python實作三次密碼驗證,每次驗證結果需要提示,三次驗證不通過需要單獨提示
代碼如下:
user = '張無忌'
password = '12345678'
confirm_flag = True
for i in range(0, 3):
user_input = input('user:')
password_input = input('password:')
if user_input == user and password_input == password:
print('Welcome! %s' % user)
confirm_flag = False # 驗證成功后更改confirm_flag,則不列印驗證失敗提示
break
else:
print('Invalid user or password!')
if confirm_flag:
print('Input the invalid password more than three times')
驗證成功結果如下:

三次驗證失敗結果如下:

上面代碼使用for-break回圈、if/else的條件判斷來實作需求
三次驗證失敗輸出提示部分代碼還可以優化,下面使用for-else回圈優化,代碼如下:
user = '張無忌'
password = '12345678'
for i in range(0, 3):
user_input = input('user:')
password_input = input('password:')
if user_input == user and password_input == password:
print('Welcome! %s' % user)
break
else:
print('Invalid user or password!')
else:
print('Input the invalid password more than three times')
驗證成功結果如下:

三次驗證失敗結果如下:

for/while回圈之后的else陳述句,只有在回圈正常結束后才會執行,如果中間使用了break陳述句跳出回圈,則不會執行
上面的代碼中,驗證成功時,通過break陳述句跳出了回圈,所以不會列印else之后的驗證失敗陳述句,而三次驗證未通過時,回圈正常結束,則會執行else之后的提示陳述句
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281389.html
標籤:其他
