溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

在python中怎么使用while True語(yǔ)句

發(fā)布時(shí)間:2020-07-22 11:29:37 來(lái)源:億速云 閱讀:1990 作者:Leah 欄目:編程語(yǔ)言

本篇文章為大家展示了在python中怎么使用while True語(yǔ)句,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

在學(xué)習(xí)過(guò)程中,經(jīng)常能遇到采用while True的用法。下面以一個(gè)例子進(jìn)行說(shuō)明:

建立一個(gè)用戶(hù)登錄系統(tǒng),用戶(hù)輸入用戶(hù)名和密碼,如果正確就可以進(jìn)入系統(tǒng)。

1、我自己最開(kāi)始的寫(xiě)法:

d = {}        #數(shù)據(jù)庫(kù)字典,所有用戶(hù)的用戶(hù)名密碼存儲(chǔ)在此

name = input("請(qǐng)輸入您的用戶(hù)名:")
if name in d:
	password = input("請(qǐng)輸入您的密碼")
	if d[name] == password:
		print('進(jìn)入系統(tǒng)')
	else:
		print('您輸入的密碼錯(cuò)誤,請(qǐng)重新輸入')
else:
	print('您輸入的用戶(hù)名不正確,請(qǐng)重新輸入')

這個(gè)自己寫(xiě)的程序邏輯上貌似是對(duì)的:

——先讓用戶(hù)輸入用戶(hù)名,如果存在該用戶(hù)名,就繼續(xù)讓用戶(hù)輸入密碼,如果密碼正確就進(jìn)入系統(tǒng)。如果密碼不正確就重新輸入。

——如果不存在該用戶(hù)名,提示“您輸入的用戶(hù)名不正確,請(qǐng)重新輸入”

但是在實(shí)際運(yùn)行過(guò)程中,如果用戶(hù)輸入的用戶(hù)名和密碼都正確,那自然是沒(méi)有問(wèn)題的。但是如果有一個(gè)輸入不正確,那系統(tǒng)只會(huì)顯示“您輸入的用戶(hù)名不正確,請(qǐng)重新輸入”或“您輸入的密碼錯(cuò)誤,請(qǐng)重新輸入”。

也就是說(shuō),如果出現(xiàn)錯(cuò)誤,沒(méi)有返回到原來(lái)的地方,請(qǐng)求繼續(xù)輸入。

2、采用while True循環(huán)語(yǔ)句:

采用該語(yǔ)句的核心思想是如果出現(xiàn)錯(cuò)誤的話(huà),可以繼續(xù)循環(huán)。

d = {}

while True:
	name = input('請(qǐng)輸入您的用戶(hù)名:')
	if name in d:
		break
	else:
		print('您輸入的用戶(hù)名不存在,請(qǐng)重新輸入')
		continue

while True:
	password = input('請(qǐng)輸入您的密碼:')
	if d[name] == password:
		print('進(jìn)入系統(tǒng)')
		break
	else:
		print('您輸入的密碼不正確,請(qǐng)重新輸入')
		continue

以上程序就可以達(dá)到所需目的:在輸入用戶(hù)名或密碼錯(cuò)誤的情況下返回到開(kāi)始部分,請(qǐng)求繼續(xù)輸入。

while True 語(yǔ)句中一定要有結(jié)束該循環(huán)的break語(yǔ)句,否則會(huì)一直循環(huán)下去的。

當(dāng)然,我們遇見(jiàn)過(guò)如果密碼錯(cuò)誤的話(huà),提示您還有幾次輸入密碼的機(jī)會(huì)。可以這樣實(shí)現(xiàn):

count = 5
while count:
	password = input('請(qǐng)輸入您的密碼:')
	if d[name] == password:
		print('進(jìn)入系統(tǒng)')
		break
	else:
		count -= 1
		print('您輸入的密碼不正確,還有{}次輸入機(jī)會(huì)'.format(count))
		continue

上述內(nèi)容就是在python中怎么使用while True語(yǔ)句,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI