在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    python break和continue對(duì)比

    前言

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

    break

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

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

    break的用法很簡(jiǎn)單,就像它定義所說的,就是跳出循環(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 = 0while(a<10):print(a)if a == 8:breaka+=1else:print("ok")result:012345678a = 0while(a<10):print(a)a+=1else:print("ok")result:0123456789ok

    例子:

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

    輸入描述:

    第一行輸入n,n>2

    第二行輸入m,m<n

    輸出描述:

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

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

    思路

    while-for嵌套,確保這個(gè)會(huì)無限進(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 = Truecout = 0num = 0while True:for i in range(1,len(ls)+1):num += 1if num % 3 == 0 or “3” in str(num):print(“編號(hào)為{}的淘汰了”.format(ls[i-1]))c.append(ls[i-1])cout += 1if ls[i-1] == b:print(“第{}個(gè)”.format(cout))flag = Falsebreakls = [i for i in range(1,a+1) if i not in c]if not flag:break

    continue

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

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

    for i in range(1,3):if i % 2 == 0:continueprint(i)result:1

    例子:

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

    思路:

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

    代碼:

    ls = [i for i in range(2,10001)]for i in ls:notprime = Falsefor j in range(2,i):if i % j != 0:continuenotprime = Truebreakif i == 2:notprime = Trueif not notprime:print(i)

    對(duì)比

    相同:

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

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

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

    不同:

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

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

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

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    (0)
    用戶投稿
    上一篇 2022年6月16日 12:13
    下一篇 2022年6月16日 12:13

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息