[問題] 密碼問題

作者: qokey0817 (be yourself)   2019-03-22 23:38:58
題目如下:
出現”請輸入密碼”的提示,使用者有最多三次輸入的機會。
若輸入正確,則印出”密碼輸入正確,歡迎使用本系統!”。
若輸入不正確,再次出現”請輸入密碼”的提示。
若三次輸入不正確,則印出”密碼輸入超過三次!”,並結束程式的執行。
程式碼為:
Password = 'abc123'
count=0
for count in range(3):
n = input("input a Password:") #若要輸入英文+數字,要拿掉eval
if n != Password :
print("請輸入密碼")
count += 1
if count == 3:
print("密碼輸入超過三次!")
elif n == Password :
print("密碼輸入正確,歡迎使用本系統!")
break
在驗證輸入三次錯誤時
第三次錯誤時會出現"請輸入密碼",之後才出現輸入超過三次
請問怎麼修正,第三次輸入錯誤時,才不會再出現"請輸入密碼"
例如
input a Password:55
請輸入密碼
input a Password:55
請輸入密碼
input a Password:55
請輸入密碼
密碼輸入超過三次!
作者: vi000246 (Vi)   2019-03-22 23:44:00
把判斷count拿到input上面
作者: zo6596001 (超帥肥宅)   2019-03-22 23:45:00
if count 放的地方好像怪怪的還有,密碼沒有人會存明碼。
作者: qokey0817 (be yourself)   2019-03-23 00:06:00
因為目前剛入門學迴圈的部分,還不會明暗碼
作者: MOONY135 (談無慾)   2019-03-23 11:06:00
給你一個建議 隨便去網路上找一個有系統的教學你現在的問題是你完全沒寫過程式你這種學習法是學不會的
作者: lajji (喇機)   2019-03-23 12:00:00
題外話 給人input的地方不要用eval
作者: sean50301 ( (づ′・ω・)づ)   2019-03-23 12:16:00
count =0也可以刪掉
作者: charlie11438 (煞氣a查理)   2019-03-23 12:57:00
https://i.imgur.com/dpX6rer.png用你的寫法寫,python用range迭代,不用再設變數。https://i.imgur.com/VWomBo5.png也可以用while判斷,這樣就要設變數。在外面用手機寫了一下,字有點小,抱歉。python迴圈有else的特殊語法,可以這樣運用
作者: jxzhe   2019-03-23 14:40:00
https://i.imgur.com/UYXQn8k.jpg可以把else想成對應for裡面那個if 假如有進if 跳出迴圈後就不會執行else
作者: qokey0817 (be yourself)   2019-03-24 20:14:00
謝謝各位的解惑,我需要再去了解迴圈是怎麼跑得以及基

Links booklink

Contact Us: admin [ a t ] ucptt.com