欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python詳細(xì)對(duì)比講解break和continue區(qū)別

 更新時(shí)間:2022年06月15日 10:34:43   作者:A Python 萌新花花  
這篇文章主要介紹了python循環(huán)控制語(yǔ)句 break 與 continue,break就像是終止按鍵,不管執(zhí)行到哪一步,只要遇到break,不管什么后續(xù)步驟,直接跳出當(dāng)前循環(huán)

前言

最近在回答問(wèn)答python區(qū)的問(wèn)題的時(shí)候,發(fā)現(xiàn)很多人對(duì)于這個(gè)break和continue分不清。所以,今天我就寫(xiě)篇文章來(lái)講一下(絕對(duì)不是為了方便我以后回答的時(shí)候復(fù)制)

break

在while和for循環(huán)中,只要滿(mǎn)足一定的條件,程序就會(huì)結(jié)束,或者進(jìn)入無(wú)限循環(huán)的境地。這個(gè)時(shí)候,我們就需要一個(gè)東西來(lái)幫助我們?cè)跐M(mǎn)足某種條件的情況下,主動(dòng)結(jié)束循環(huán)。或者說(shuō),我們希望有一個(gè)東西,能在循環(huán)的過(guò)程中的某個(gè)特定的階段跳出,結(jié)束循環(huán)。

break長(zhǎng)和if,elif,else搭配。

break的用法很簡(jiǎn)單,就像它定義所說(shuō)的,就是跳出循環(huán)。但是,有幾個(gè)需要注意的點(diǎn):

1. break只跳出一層循環(huán):for-for嵌套遍歷的情況的話,一個(gè)break只會(huì)跳出一個(gè)循環(huán)。如果這個(gè)break是在最里面的話,就只會(huì)結(jié)束里面for的循環(huán),進(jìn)入下一個(gè)外面for的循環(huán)。

2. break跳出是絕對(duì)跳出,這個(gè)跳出的循環(huán)不會(huì)再繼續(xù)循環(huán)了(除非是循環(huán)嵌套)。

3. break在while-else,for-else循環(huán)的時(shí)候會(huì)起到不一樣的效果。

a = 0
while(a<10):
    print(a)
    if a == 8:
        break
    a+=1
else:
    print("ok")

result:
0
1
2
3
4
5
6
7
8

a = 0
while(a<10):
    print(a)
    a+=1
else:
    print("ok")

result:
0
1
2
3
4
5
6
7
8
9
ok

例子

題目來(lái)源:??途W(wǎng)編程N(yùn)P9報(bào)數(shù)游戲

牛牛在和朋友玩報(bào)數(shù)游戲,他和朋友們圍成一圈,共有n個(gè)人,牛牛最初站在第m個(gè)位置。從第一個(gè)人開(kāi)始報(bào)數(shù),但凡報(bào)到3的倍數(shù)或者含三的數(shù)的人就退出圈子。請(qǐng)問(wèn)牛牛是第幾個(gè)退出圈子的人?

輸入描述:

第一行輸入n,n>2

第二行輸入m,m<n

輸出描述:

輸出一個(gè)整數(shù)表示每次有人退出時(shí)那個(gè)人的編號(hào)

輸出一個(gè)整數(shù)表示牛牛是第幾個(gè)退出圈子的人

思路:

while-for嵌套,確保這個(gè)會(huì)無(wú)限進(jìn)行,然后加上兩個(gè)break,一個(gè)是在牛牛是最后一個(gè)人的時(shí)候break,另一個(gè)是牛牛成為退出的人的時(shí)候break

代碼:

a = int(input())
b = int(input())
ls = [i for i in range(1,a+1)]
c = []
flag = True
cout = 0
num = 0
while True:
    for i in range(1,len(ls)+1):
        num += 1
        if num % 3 == 0 or "3" in str(num):
            print("編號(hào)為{}的淘汰了".format(ls[i-1]))
            c.append(ls[i-1])
            cout += 1
            if ls[i-1] == b:
                print("第{}個(gè)".format(cout))
                flag = False
                break
    ls = [i for i in range(1,a+1) if i not in c]
    if not flag:
        break

continue

continue會(huì)跳過(guò)(忽略)當(dāng)次循環(huán)的剩下語(yǔ)句,接著開(kāi)始下一次循環(huán)。多數(shù)和if一起使用,少數(shù)會(huì)出現(xiàn)在別的情況。

盡管continue會(huì)在if里面出現(xiàn),但是一旦運(yùn)行了continue,if外面的也會(huì)被跳過(guò)。

for i in range(1,3):
    if i % 2 == 0:
        continue
    print(i)

result:
1

例子

題目來(lái)源:??途W(wǎng)編程N(yùn)P17前十個(gè)偶數(shù)

通過(guò)給函數(shù) range()指定三個(gè)參數(shù)來(lái)創(chuàng)建一個(gè)列表my_list,其中包含 [1,10000] 中的所有奇數(shù);再使用一個(gè) for 循環(huán)將這些中是質(zhì)數(shù)數(shù)字都打印出來(lái)(每個(gè)數(shù)字獨(dú)占一行)。

思路:

先 range和迭代器一起生成一個(gè)list,然后continue搭配if判斷,輸出。

代碼:

ls = [i for i in range(2,10001)]
for i in ls:
    notprime = False
    for j in range(2,i):
        if i % j != 0:
            continue
        notprime = True
        break
    if i == 2:
        notprime = True
    if not notprime:
        print(i)

對(duì)比

相同:

1. break 和 continue 都有著結(jié)束當(dāng)前這次循環(huán)的作用

2. break 和 continue 都經(jīng)常和if 搭配使用

3. break 和 continue 是單獨(dú)的語(yǔ)句,不需要參數(shù),也不能放在判斷語(yǔ)句中

不同:

1. break 是跳出循環(huán),不繼續(xù)下次循環(huán);continue是結(jié)束當(dāng)前這次循環(huán),但是還繼續(xù)下次循環(huán)

2. break 對(duì) for else 和 while else 有特殊的作用,continue沒(méi)有

3. break 應(yīng)用的要比continue廣,多數(shù)情況下用 break 而不是 continue

到此這篇關(guān)于Python詳細(xì)對(duì)比講解break和continue區(qū)別的文章就介紹到這了,更多相關(guān)Python break和continue內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論