您好,登錄后才能下訂單哦!
前面講過,通過break語句可以直接退出當前的循環,但在某些情況下,想知道循環是正常結束的,還是通過break語句中斷的,如果使用傳統的方法,會有如下代碼。
import random #導入隨機數模塊
x = 0
break_flag = False #設置是否使用break語句終端循環的標志變量
while x < 10:
x += 1
if x == random.randint(1,20): #產生一個1到20的隨機整數
break_flag = True #如果循環終端,將標志設為True
print(x)
break;
if not break_flag: #如果標志為False,表示循環是正常退出的
print("沒有中斷while循環")
其實有更簡單的寫法,就是為while循環加一個else子句,else子句的作用僅僅是while正常退出時執行(在循環中沒有執行break語句)。else子句可以用在while和for循環中。else子句在循環中的用法請看實例3.9。
[例 3.9] 本例會在while和for循環語句中加上else子句,并通過一個隨機整數決定是否執行break語句退出循環。如果程序是正常退出循環的(條件表達式為False時退出循環),會執行else子句代碼塊。
import random #導入隨機數模塊
x = 0
while x < 10:
x += 1
if x == random.randint(1,20): #產生一個1到20的隨機整數
print(x)
break;
else: #while循環的else子句
print("沒有中斷while循環")
numbers = [1,2,3,4,5,6]
for number in numbers:
if number == random.randint(1,12): #產生一個1到12的隨機整數
print(number)
break;
else: #for循環的else子句
print("正常退出循環")
輸出結果:
7
正常退出循環
要注意,由于上面這段代碼使用了隨機整數,所以每次執行的結果和我的輸出結果可能都會不一樣。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。