在學習過程中,經常能遇到采用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:breakelse:print('您輸入的用戶名不存在,請重新輸入')continuewhile True:password = input('請輸入您的密碼:')if d[name] == password:print('進入系統')breakelse:print('您輸入的密碼不正確,請重新輸入')continue
以上程序就可以達到所需目的:在輸入用戶名或密碼錯誤的情況下返回到開始部分,請求繼續輸入。
while True 語句中一定要有結束該循環的break語句,否則會一直循環下去的。
當然,我們遇見過如果密碼錯誤的話,提示您還有幾次輸入密碼的機會??梢赃@樣實現:
count = 5while count:password = input('請輸入您的密碼:')if d[name] == password:print('進入系統')breakelse:count -= 1print('您輸入的密碼不正確,還有{}次輸入機會'.format(count))continue
上述內容就是在python中怎么使用while True語句,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
中華人民共和國成立70周年紀念幣將于明日(9月10日)陸續發行。公告一出,立即引起廣泛關注。如何預約?怎么換?如何購買?其實只要你看懂了這個“公告”,基本就不是問題。相關政策《中華人民共和國人民幣管理條例》第十九條規定:“紀念幣的主題、面額、圖案、材質、式樣、規格、發行數量、發行時間由中國人民銀行予以公告。在紀念幣發行公告發布前,中國人民銀行不得向金融機構支付紀念幣?!眮砜纯唇▏?0周年紀念幣公告...
(資料圖片僅供參考)據九派新聞,今年5月,柳智宇到一家心理咨詢公司任職,作為事業部部長,帶領十余人的小團隊,開發心理學課程。剛加入團隊,公司承諾給他3萬月薪,他嫌多,主動要求降到2萬,和其他員工一樣,“扣完稅1萬多,我不買房、不買車,更不想生孩子,你說我要那么多錢干啥?還不如多奉獻給大家。”他希望團隊早日實現收支平衡,希望大家能夠獲得自由,不管是精神上的還是經濟上的。據百度...
(資料圖片)2022年11月12日凌晨,京東公布雙11數據。京東表示,2022年“京東11.11全球熱愛季”超越行業增速,創造了新的紀錄,與此同時,零售購物用戶數也再創佳績。京東雙11期間,近10000種農產品成交額超過10萬元。超2000萬用戶選擇在京東購買家電,Z世代人群已成為家電消費主力,巔峰28小時期間,95后用戶成交額同比增長50%。據網經社電商大數據庫&ldqu...