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