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

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

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

前言

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

break

在while和for循環(huán)中,只要滿足一定的條件,程序就會結(jié)束,或者進(jìn)入無限循環(huán)的境地。這個時候,我們就需要一個東西來幫助我們在滿足某種條件的情況下,主動結(jié)束循環(huán)?;蛘哒f,我們希望有一個東西,能在循環(huán)的過程中的某個特定的階段跳出,結(jié)束循環(huán)。

break長和if,elif,else搭配。

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

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

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

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

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

例子

題目來源:牛客網(wǎng)編程NP9報數(shù)游戲

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

輸入描述:

第一行輸入n,n>2

第二行輸入m,m<n

輸出描述:

輸出一個整數(shù)表示每次有人退出時那個人的編號

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

思路:

while-for嵌套,確保這個會無限進(jìn)行,然后加上兩個break,一個是在牛牛是最后一個人的時候break,另一個是牛牛成為退出的人的時候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("編號為{}的淘汰了".format(ls[i-1]))
            c.append(ls[i-1])
            cout += 1
            if ls[i-1] == b:
                print("第{}個".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會跳過(忽略)當(dāng)次循環(huán)的剩下語句,接著開始下一次循環(huán)。多數(shù)和if一起使用,少數(shù)會出現(xiàn)在別的情況。

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

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

result:
1

例子

題目來源:??途W(wǎng)編程NP17前十個偶數(shù)

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

思路:

先 range和迭代器一起生成一個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)

對比

相同:

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

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

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

不同:

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

2. break 對 for else 和 while else 有特殊的作用,continue沒有

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

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

相關(guān)文章

最新評論