黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

失去循環(huán)標(biāo)記的Python,我這樣實(shí)現(xiàn)跳出外層循環(huán)

系統(tǒng) 1914 0
朋友圈的學(xué)問

對(duì)于剛剛過(guò)去的教師節(jié),大家是否發(fā)現(xiàn)了點(diǎn)什么…凡是哪個(gè)混的風(fēng)生水起,都喜歡在朋友圈里面感謝一下母校,緬懷一番師生情。那混的不好的,比如我這種苦逼IT搬磚民工,在教師節(jié)的朋友圈說(shuō)說(shuō)是什么樣的呢?哈哈…
失去循環(huán)標(biāo)記的Python,我這樣實(shí)現(xiàn)跳出外層循環(huán)_第1張圖片

孟子曾說(shuō) 窮則獨(dú)善其身,達(dá)則兼善天下 。意思是不得志的時(shí)候就要管好自己的道德修養(yǎng),得志的時(shí)候就要努力讓天下人都能得到好處。所以貧窮的我就用苦蕎籽慶祝這個(gè)節(jié)日,為什么說(shuō)慶祝?只能說(shuō),這年頭,誰(shuí)還沒個(gè)教師資格證了,跟誰(shuí)倆呢!
失去循環(huán)標(biāo)記的Python,我這樣實(shí)現(xiàn)跳出外層循環(huán)_第2張圖片

不完美的Python

自從各類Python大火,感覺天上地下哪兒都有Python的一席之地,Python功夫好啊…但python有些細(xì)節(jié)上缺少其他語(yǔ)言的便利。今天我們就來(lái)舉幾個(gè)例子。

跳出外層循環(huán)

大家都知道,在Java中存在標(biāo)簽的概念,當(dāng)我們存在多層循環(huán)時(shí),Java可以使用標(biāo)簽控制指定的循環(huán)層。舉個(gè)小栗子:

            
              
                public
              
              
                class
              
              
                OuterLoop
              
              
                {
              
              
                public
              
              
                static
              
              
                void
              
              
                main
              
              
                (
              
              String
              
                [
              
              
                ]
              
               args
              
                )
              
              
                {
              
              
        outer
              
                :
              
              
                for
              
              
                (
              
              
                int
              
               i 
              
                =
              
              
                0
              
              
                ;
              
               i 
              
                <
              
              
                5
              
              
                ;
              
               i
              
                ++
              
              
                )
              
              
                {
              
              
            inner
              
                :
              
              
                for
              
              
                (
              
              
                int
              
               j 
              
                =
              
              
                0
              
              
                ;
              
               j 
              
                <
              
              
                5
              
              
                ;
              
               j
              
                ++
              
              
                )
              
              
                {
              
              
                System
              
                .
              
              out
              
                .
              
              
                println
              
              
                (
              
              j
              
                )
              
              
                ;
              
              
                if
              
              
                (
              
              j 
              
                ==
              
              
                2
              
              
                )
              
              
                {
              
              
                break
              
               outer
              
                ;
              
              
                }
              
              
                }
              
              
                }
              
              
        System
              
                .
              
              out
              
                .
              
              
                println
              
              
                (
              
              
                "over!"
              
              
                )
              
              
                ;
              
              
                }
              
              
                }
              
              

output
              
                :
              
              
                0
              
              
                1
              
              
                2
              
              
over
              
                !
              
            
          

我們通過(guò)定義標(biāo)簽,在遇到break continue等關(guān)鍵字時(shí),可以控制指定的循環(huán)層,然而Python沒有標(biāo)簽的概念,那么Python該如何實(shí)現(xiàn)這種功能呢?

Python循環(huán)跳出

為了方便大家理解,我們來(lái)舉一個(gè)臭不要臉的例子吧!
加入小張、我、小李三個(gè)人經(jīng)常一起吃飯,吃飯就涉及付賬了,如果AA那大家都能接受,如果一個(gè)人請(qǐng)客,那他倆付錢我當(dāng)然愿意,如果是我付錢那我吃完了就趕緊尿遁…好了,有這個(gè)前提,我們開始寫代碼吧。

定義函數(shù)實(shí)現(xiàn)

對(duì)于多層循環(huán),在Python中,也許最易于理解的方式就是通過(guò)函數(shù)return來(lái)實(shí)現(xiàn)了。但這里要注意一個(gè)問題,函數(shù)的return會(huì)跳出所有循環(huán),對(duì)于兩層以上的循環(huán)不適用…

            
              
                # -*- coding: utf-8 -*-
              
              
                # @Author   : 王翔
              
              
                # @WeChat   : King_Uranus
              
              
                # @公眾號(hào)    : 清風(fēng)Python
              
              
                # @Date     : 2019/9/11 0:03
              
              
                # @Software : PyCharm
              
              
                # @version  :Python 3.7.3
              
              
                # @File     : OuterLoop.py
              
              
                import
              
               random

people 
              
                =
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'li'
              
              
                ]
              
              
payments 
              
                =
              
              
                [
              
              
                'AA'
              
              
                ,
              
              
                'stand_treat'
              
              
                ]
              
              
                def
              
              
                dine_together
              
              
                (
              
              
                )
              
              
                :
              
              
                # 為了避免一成不變的套路,我們添加兩個(gè)列表隨機(jī)
              
              
    random
              
                .
              
              shuffle
              
                (
              
              payments
              
                )
              
              
                print
              
              
                (
              
              payments
              
                )
              
              
    random
              
                .
              
              shuffle
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              people
              
                )
              
              
                for
              
               payment 
              
                in
              
               payments
              
                :
              
              
                for
              
               person 
              
                in
              
               people
              
                :
              
              
                if
              
               payment 
              
                ==
              
              
                'stand_treat'
              
              
                :
              
              
                if
              
               person 
              
                ==
              
              
                'me'
              
              
                :
              
              
                print
              
              
                (
              
              
                "居然我請(qǐng)客,趕緊尿遁..."
              
              
                )
              
              
                    people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                    schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 當(dāng)遇到我請(qǐng)客,直接結(jié)束外層循環(huán),函數(shù)返回...
              
              
                return
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              

dine_together
              
                (
              
              
                )
              
              

output
              
                :
              
              
                [
              
              
                'stand_treat'
              
              
                ,
              
              
                'AA'
              
              
                ]
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'li'
              
              
                ,
              
              
                'me'
              
              
                ]
              
              
今天zhang請(qǐng)客
今天li請(qǐng)客
居然我請(qǐng)客,趕緊尿遁
              
                .
              
              
                .
              
              
                .
              
              
倒霉孩子li請(qǐng)客

            
          
標(biāo)記變量實(shí)現(xiàn)

我們可以通過(guò)定義變量值來(lái)進(jìn)行判斷是否退出循環(huán),操作如下:

            
              
                import
              
               random

people 
              
                =
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'li'
              
              
                ]
              
              
payments 
              
                =
              
              
                [
              
              
                'AA'
              
              
                ,
              
              
                'stand_treat'
              
              
                ]
              
              
                # 為了避免一成不變的套路,我們添加兩個(gè)列表隨機(jī)
              
              
random
              
                .
              
              shuffle
              
                (
              
              payments
              
                )
              
              
                print
              
              
                (
              
              payments
              
                )
              
              
random
              
                .
              
              shuffle
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              people
              
                )
              
              

runaway 
              
                =
              
              
                False
              
              
                for
              
               payment 
              
                in
              
               payments
              
                :
              
              
                for
              
               person 
              
                in
              
               people
              
                :
              
              
                if
              
               payment 
              
                ==
              
              
                'stand_treat'
              
              
                :
              
              
                if
              
               person 
              
                ==
              
              
                'me'
              
              
                :
              
              
                print
              
              
                (
              
              
                "居然我請(qǐng)客,趕緊尿遁..."
              
              
                )
              
              
                people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 修改標(biāo)記變量
              
              
                runaway 
              
                =
              
              
                True
              
              
                # 當(dāng)遇到我請(qǐng)客,直接結(jié)束外層循環(huán),函數(shù)返回...
              
              
                break
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              
                # 判斷標(biāo)記變量
              
              
                if
              
               runaway
              
                :
              
              
                break
              
              

output
              
                :
              
              
                [
              
              
                'stand_treat'
              
              
                ,
              
              
                'AA'
              
              
                ]
              
              
                [
              
              
                'li'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'zhang'
              
              
                ]
              
              
今天li請(qǐng)客
居然我請(qǐng)客,趕緊尿遁
              
                .
              
              
                .
              
              
                .
              
              
倒霉孩子zhang請(qǐng)客

            
          
for else實(shí)現(xiàn)

for…else…的運(yùn)行邏輯是當(dāng)for循環(huán)正常執(zhí)行結(jié)束就會(huì)運(yùn)行其else語(yǔ)句,如果中途break的話,就不會(huì)執(zhí)行else中的內(nèi)容
有失必有得,雖然python沒有循環(huán)標(biāo)記,卻多出了一個(gè)for else的操作,幫助我們實(shí)現(xiàn)需求。

            
              
                import
              
               random

people 
              
                =
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'li'
              
              
                ]
              
              
payments 
              
                =
              
              
                [
              
              
                'AA'
              
              
                ,
              
              
                'stand_treat'
              
              
                ]
              
              
                # 為了避免一成不變的套路,我們添加兩個(gè)列表隨機(jī)
              
              
random
              
                .
              
              shuffle
              
                (
              
              payments
              
                )
              
              
                print
              
              
                (
              
              payments
              
                )
              
              
random
              
                .
              
              shuffle
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              people
              
                )
              
              
                for
              
               payment 
              
                in
              
               payments
              
                :
              
              
                for
              
               person 
              
                in
              
               people
              
                :
              
              
                if
              
               payment 
              
                ==
              
              
                'stand_treat'
              
              
                :
              
              
                if
              
               person 
              
                ==
              
              
                'me'
              
              
                :
              
              
                print
              
              
                (
              
              
                "居然我請(qǐng)客,趕緊尿遁..."
              
              
                )
              
              
                people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 當(dāng)遇到我請(qǐng)客,直接結(jié)束外層循環(huán),函數(shù)返回...
              
              
                break
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請(qǐng)客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                # 未出現(xiàn)break操作,執(zhí)行else,通過(guò)continue繼續(xù)操作
              
              
                continue
              
              
                # 出現(xiàn)break操作,跳過(guò)else,直接外層break,結(jié)束外層循環(huán)
              
              
                break
              
            
          
The End

OK,今天的內(nèi)容就到這里,如果覺得內(nèi)容對(duì)你有所幫助,歡迎點(diǎn)擊文章右下角的“ 在看 ”。
期待你關(guān)注我的公眾號(hào) 清風(fēng)Python ,如果覺得不錯(cuò),希望能動(dòng)動(dòng)手指轉(zhuǎn)發(fā)給你身邊的朋友們。
希望每周一至五清晨的7點(diǎn)10分,都能讓清風(fēng)Python的知識(shí)文章叫醒大家!謝謝……
失去循環(huán)標(biāo)記的Python,我這樣實(shí)現(xiàn)跳出外層循環(huán)_第3張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論