python學習 while True的用法

2021-08-07 08:22:37 字數 1491 閱讀 2006

在學習過程中,經常能遇到採用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

學習 Python學習(一) Python問答

一.為什麼要使用python?python的主要特點有 1 軟體質量,python 具有很強的可讀性,因此在重用和維護方面就比較方便 2 編碼效率,python沒有編譯和鏈結庫的過程 3 程式移植性,不做任何修改,python可執行在windows和linux系統 4 豐富的支撐庫,python既可...

python學習清單大全 python學習清單

學習單子 a部 python 大神vamei的blog之python篇 大神vamei的部落格很是推薦 各方面寫的都很好 我暫時只是看過他的python 網路和django的部分,看下來簡單易懂,很適合做個學習的大綱,然後靠自己日後不斷的充實進去。文章中也簡要的列出常用的一些命令語法之類的。pyth...

python列表學習 python列表學習整理

list1 列表 是一種有序的集合,可以隨時新增和刪除其中的元素。list1 lily lucy peter abel 列印列表 print list1 遍歷列表 end 迴圈中不換行print x,end for x in list1 print x 列表個數 print len list1 列表...