我們知道,在Python中經常我們要使用循環,其中最常用的是while循環,while有很多結合方式,我們知道,如果一個循環沒有結束語句那么就失去了意義,所以我們一定要有結束語句,下面來看看while經常用的幾種方式:
(一)、while...break語句
lucky_num = 19
while True:
input_num = int(input("Input the guess num: "))
if input_num == lucky_num:
print("Bingo!")
break
elif input_num > lucky_num:
print("The real number is smaller.")
elif input_num < lucky_num:
print("The real number is bigger...")
上述語句中,我們定義了一個lucky_num(幸運數字)讓用戶去猜測,記得數字一定要進行轉換,如果用戶輸入對了,則使用break語句結束循環;如果用戶一直輸入不對,則一直讓用戶進行輸入,這種情況起始也相當於一種死循環,除非用戶輸入正確才能夠結束循環,否則就不會停止循環。下面我們來看看,不使用break語句進行退出的情況:
lucky_num = 19
input_num = -1
while input_num != lucky_num:
#當條件滿足的時候結束循環
input_num = int(input("Input the guess num: "))
if input_num > lucky_num:
print("The real number is smaller.")
#測試條件,記得使用elif語句,如要盲目使用else語句,當我們知道條件的時候
elif input_num < lucky_num:
print("The real number is bigger...")
print("Bingo!")
我們可以定義while退出的狀況,我們進行循環的條件是input_num != lucky_num,即當用戶輸入的數字和定義的數字不一樣的時候進行循環,當條件滿足的時候,退出while循環,這種方式是,我們首先給用戶輸入的值賦一個初始值,讓循環能夠進行下去,避免出現input_num沒有定義的情況。
下面來定義讓用戶輸入有限的次數:
lucky_num = 19
input_num = -1
guess_num = 0
while guess_num < 3:
#當條件滿足的時候結束循環
input_num = int(input("Input the guess num: "))
if input_num > lucky_num:
print("The real number is smaller.")
#測試條件,記得使用elif語句,如要盲目使用else語句,當我們知道條件的時候
elif input_num < lucky_num:
print("The real number is bigger...")
elif input_num == lucky_num:
print("Bingo!")
break
guess_num += 1
else:
print("Too many retrys......")
while...break...else...語句,這種語句用於提示用戶輸入正確的時候退出循環,不執行,使用break語句退出,就不會執行else語句,如果不執行break語句,則必定會執行else語句;這種情況適用於,我們想讓當條件滿足的時候就退出循環的情況,當條件不滿足的時候,我們提示用戶退出循環的原因。
就是提示用戶退出循環的方式,要知道,while...else...非正常退出的時候不執行else語句,當正常退出的時候必定執行else后面的語句。
while...else...語句中的else語句是在while循環執行完成之后進行執行,但是當while語句不是正常退出,而是強制(break)退出循環的,則不會執行else語句后面的代碼。
