上章我們實(shí)現(xiàn)了類似QQ登入的功能,但是還是有點(diǎn)小瑕疵。
這章我們來(lái)詳細(xì)的講解一下輸入正確之后怎么退出循環(huán)。實(shí)現(xiàn)的方法有兩種,先來(lái)看第一種。
我們知道while循環(huán)能夠運(yùn)行,首先肯定是取決于它的條件,當(dāng)條件為True的時(shí)候,循環(huán)就會(huì)運(yùn)行,反過(guò)來(lái)說(shuō)也就是當(dāng)條件變成False的時(shí)候,循環(huán)自然也就退出了。
所以方法一就很簡(jiǎn)單了,也就是只要達(dá)到了我們要的效果的時(shí)候,就用代碼把條件改成Fasle就可以了。
那我們?cè)趺锤哪?,如果要改那就要用到變量這個(gè)概念了。我們把True賦值給condition,完后while condition。
condition=True
while condition:
username = '110119'
password = '123456'
input_username = input('請(qǐng)輸入你的賬號(hào):')
input_password = input('請(qǐng)輸入你的密碼:')
if input_username == username and input_password:
print("登入成功")
else:
print('用戶名或密碼錯(cuò)誤,請(qǐng)注意格式大小寫(xiě)')
現(xiàn)在我們就可以對(duì)他進(jìn)行修改了,就是當(dāng)打印登入成功之后,就不應(yīng)該再循環(huán)第二次了,所以我在打印‘登入成功’后面,把condition改成False。
username = '110119'
password = '123456'
condition=True
while condition:
input_username = input('請(qǐng)輸入你的賬號(hào):')
input_password = input('請(qǐng)輸入你的密碼:')
if input_username == username and input_password:
print("登入成功")
condition=False
else:
print('用戶名或密碼錯(cuò)誤,請(qǐng)注意格式大小寫(xiě)')
注意你這個(gè)把condition=False不能亂放,如果你放在while下面,就相當(dāng)于是循環(huán)開(kāi)始之后直接把條件改成False。
condition = True
while condition:
condition = False #(不允許放在這里)
現(xiàn)在我們來(lái)打印一下試試。先是登入失敗,顯示登入失敗后讓你重新輸入賬號(hào)密碼。
接下來(lái)輸入正確的賬號(hào)密碼。登入成功之后,注意不是直接退出循環(huán),而是代碼運(yùn)行到condition=False,在返回while condition判斷,結(jié)果是False才會(huì)退出循環(huán)。
我們?cè)賮?lái)看結(jié)束循環(huán)的第二種方式,while加break的方式。
這個(gè)方式和我們剛剛講的方式完全不一樣了,剛剛講的是會(huì)把當(dāng)前循環(huán)體的代碼全部執(zhí)行完畢后,下一次判斷的時(shí)候才會(huì)終止循環(huán),而break這種方式是主要代碼運(yùn)行到break,就會(huì)立即退出本層循環(huán),注意是本層循環(huán)。
break后面的本層的循環(huán)替代碼不再執(zhí)行,言外之意就是循環(huán)也是可已嵌套的。循環(huán)嵌套我們后面再說(shuō)。
我們先來(lái)看break怎么使用。
username='110119'
password='123456'
while True:
input_username=input('請(qǐng)輸入你的賬號(hào):')
input_password=input('請(qǐng)輸入你的密碼:')
if input_username==username and input_password:
print("登入成功")
break
else:
print('用戶名或密碼錯(cuò)誤,請(qǐng)注意格式大小寫(xiě)')
我們先來(lái)運(yùn)行看看,還是先輸入錯(cuò)誤的賬號(hào)密碼。還是和上面的運(yùn)行一樣,錯(cuò)誤之后重新循環(huán)讓你輸入正確的賬號(hào)密碼。
再來(lái)輸入正確的賬號(hào)密碼。輸入正確的賬號(hào)密碼之后,循環(huán)就結(jié)束了。
這就是退出while循環(huán)的兩種方式。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 退出while循環(huán)的兩種方式