在學習過程中,經常能遇到采用while True的用法。下面以一個例子進行說明:
蛟河網站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、響應式網站等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站2013年至今到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯(lián)建站。建立一個用戶登錄系統(tǒng),用戶輸入用戶名和密碼,如果正確就可以進入系統(tǒng)。
1、我自己最開始的寫法:
d = {} #數據庫字典,所有用戶的用戶名密碼存儲在此 name = input("請輸入您的用戶名:") if name in d: password = input("請輸入您的密碼") if d[name] == password: print('進入系統(tǒng)') else: print('您輸入的密碼錯誤,請重新輸入') else: print('您輸入的用戶名不正確,請重新輸入')
這個自己寫的程序邏輯上貌似是對的:
——先讓用戶輸入用戶名,如果存在該用戶名,就繼續(xù)讓用戶輸入密碼,如果密碼正確就進入系統(tǒng)。如果密碼不正確就重新輸入。
——如果不存在該用戶名,提示“您輸入的用戶名不正確,請重新輸入”
但是在實際運行過程中,如果用戶輸入的用戶名和密碼都正確,那自然是沒有問題的。但是如果有一個輸入不正確,那系統(tǒng)只會顯示“您輸入的用戶名不正確,請重新輸入”或“您輸入的密碼錯誤,請重新輸入”。
也就是說,如果出現錯誤,沒有返回到原來的地方,請求繼續(xù)輸入。
2、采用while True循環(huán)語句:
采用該語句的核心思想是如果出現錯誤的話,可以繼續(xù)循環(huán)。
d = {} while True: name = input('請輸入您的用戶名:') if name in d: break else: print('您輸入的用戶名不存在,請重新輸入') continue while True: password = input('請輸入您的密碼:') if d[name] == password: print('進入系統(tǒng)') break else: print('您輸入的密碼不正確,請重新輸入') continue
以上程序就可以達到所需目的:在輸入用戶名或密碼錯誤的情況下返回到開始部分,請求繼續(xù)輸入。
while True 語句中一定要有結束該循環(huán)的break語句,否則會一直循環(huán)下去的。
當然,我們遇見過如果密碼錯誤的話,提示您還有幾次輸入密碼的機會。可以這樣實現:
count = 5 while count: password = input('請輸入您的密碼:') if d[name] == password: print('進入系統(tǒng)') break else: count -= 1 print('您輸入的密碼不正確,還有{}次輸入機會'.format(count)) continue
感謝大家的閱讀,希望大家收益多多。
本文轉自:https://blog.csdn.net/geerniya/article/details/77524173
推薦教程:《python教程》
網站欄目:手把手教你在python中如何使用whileTrue語句
網頁網址:http://weahome.cn/article/chcicg.html