在學習過程中,常常能遇到採用while True的用法。以下以一個範例說明:
建立一個使用者登入系統,使用者輸入使用者名稱和密碼,如果正確就可以進入系統。
1、我自己最開始的寫法:
d = {} #数据库字典,所有用户的用户名密码存储在此 name = input("请输入您的用户名:") if name in d: password = input("请输入您的密码") if d[name] == password: print('进入系统') else: print('您输入的密码错误,请重新输入') else: print('您输入的用户名不正确,请重新输入')
這個自己寫的程式邏輯上貌似是對的:
#——先讓使用者輸入使用者名,如果存在該使用者名,就繼續讓使用者輸入密碼,如果密碼正確就進入系統。如果密碼不正確就重新輸入。
-如果不存在該使用者名,提示「您輸入的使用者名稱不正確,請重新輸入」
但是在實際運行過程中,如果使用者輸入的使用者名稱和密碼都正確,那自然是沒有問題的。但如果有一個輸入不正確,系統只會顯示「您輸入的使用者名稱不正確,請重新輸入」或「您輸入的密碼錯誤,請重新輸入」。
也就是說,如果發生錯誤,沒有回到原來的地方,請求繼續輸入。
2、採用while True循環語句:
採用該語句的核心思想是如果出現錯誤的話,可以繼續循環。
d = {} while True: name = input('请输入您的用户名:') if name in d: break else: print('您输入的用户名不存在,请重新输入') continue while True: password = input('请输入您的密码:') if d[name] == password: print('进入系统') break else: print('您输入的密码不正确,请重新输入') continue
以上程式就可以達到所需目的:在輸入使用者名稱或密碼錯誤的情況下返回到開始部分,請求繼續輸入。
while True 語句中一定要有結束該迴圈的break語句,否則會一直循環下去的。
當然,我們遇過如果密碼錯誤的話,提示您還有幾次輸入密碼的機會。可以這樣實現:
count = 5 while count: password = input('请输入您的密码:') if d[name] == password: print('进入系统') break else: count -= 1 print('您输入的密码不正确,还有{}次输入机会'.format(count)) continue
感謝大家的閱讀,希望大家收益多多。
本文轉自:https://blog.csdn.net/geerniya/article/details/77524173
推薦教學:《python教學》
以上是手把手教你在python中如何使用while True語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!