欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

失去循環標記的Python,我這樣實現跳出外層循環

系統 1613 0
朋友圈的學問

對于剛剛過去的教師節,大家是否發現了點什么…凡是哪個混的風生水起,都喜歡在朋友圈里面感謝一下母校,緬懷一番師生情。那混的不好的,比如我這種苦逼IT搬磚民工,在教師節的朋友圈說說是什么樣的呢?哈哈…
失去循環標記的Python,我這樣實現跳出外層循環_第1張圖片

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

不完美的Python

自從各類Python大火,感覺天上地下哪兒都有Python的一席之地,Python功夫好啊…但python有些細節上缺少其他語言的便利。今天我們就來舉幾個例子。

跳出外層循環

大家都知道,在Java中存在標簽的概念,當我們存在多層循環時,Java可以使用標簽控制指定的循環層。舉個小栗子:

            
              
                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
              
                !
              
            
          

我們通過定義標簽,在遇到break continue等關鍵字時,可以控制指定的循環層,然而Python沒有標簽的概念,那么Python該如何實現這種功能呢?

Python循環跳出

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

定義函數實現

對于多層循環,在Python中,也許最易于理解的方式就是通過函數return來實現了。但這里要注意一個問題,函數的return會跳出所有循環,對于兩層以上的循環不適用…

            
              
                # -*- coding: utf-8 -*-
              
              
                # @Author   : 王翔
              
              
                # @WeChat   : King_Uranus
              
              
                # @公眾號    : 清風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
              
              
                (
              
              
                )
              
              
                :
              
              
                # 為了避免一成不變的套路,我們添加兩個列表隨機
              
              
    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
              
              
                (
              
              
                "居然我請客,趕緊尿遁..."
              
              
                )
              
              
                    people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                    schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 當遇到我請客,直接結束外層循環,函數返回...
              
              
                return
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              

dine_together
              
                (
              
              
                )
              
              

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

            
          
標記變量實現

我們可以通過定義變量值來進行判斷是否退出循環,操作如下:

            
              
                import
              
               random

people 
              
                =
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'li'
              
              
                ]
              
              
payments 
              
                =
              
              
                [
              
              
                'AA'
              
              
                ,
              
              
                'stand_treat'
              
              
                ]
              
              
                # 為了避免一成不變的套路,我們添加兩個列表隨機
              
              
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
              
              
                (
              
              
                "居然我請客,趕緊尿遁..."
              
              
                )
              
              
                people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 修改標記變量
              
              
                runaway 
              
                =
              
              
                True
              
              
                # 當遇到我請客,直接結束外層循環,函數返回...
              
              
                break
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              
                # 判斷標記變量
              
              
                if
              
               runaway
              
                :
              
              
                break
              
              

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

            
          
for else實現

for…else…的運行邏輯是當for循環正常執行結束就會運行其else語句,如果中途break的話,就不會執行else中的內容
有失必有得,雖然python沒有循環標記,卻多出了一個for else的操作,幫助我們實現需求。

            
              
                import
              
               random

people 
              
                =
              
              
                [
              
              
                'zhang'
              
              
                ,
              
              
                'me'
              
              
                ,
              
              
                'li'
              
              
                ]
              
              
payments 
              
                =
              
              
                [
              
              
                'AA'
              
              
                ,
              
              
                'stand_treat'
              
              
                ]
              
              
                # 為了避免一成不變的套路,我們添加兩個列表隨機
              
              
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
              
              
                (
              
              
                "居然我請客,趕緊尿遁..."
              
              
                )
              
              
                people
              
                .
              
              remove
              
                (
              
              
                'me'
              
              
                )
              
              
                schlemiel 
              
                =
              
               random
              
                .
              
              choice
              
                (
              
              people
              
                )
              
              
                print
              
              
                (
              
              
                "倒霉孩子{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              schlemiel
              
                )
              
              
                )
              
              
                # 當遇到我請客,直接結束外層循環,函數返回...
              
              
                break
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "今天{}請客"
              
              
                .
              
              
                format
              
              
                (
              
              person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                '今天吃飯{},等下{}付錢,大家記得把錢給它...'
              
              
                .
              
              
                format
              
              
                (
              
              payment
              
                ,
              
               person
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                # 未出現break操作,執行else,通過continue繼續操作
              
              
                continue
              
              
                # 出現break操作,跳過else,直接外層break,結束外層循環
              
              
                break
              
            
          
The End

OK,今天的內容就到這里,如果覺得內容對你有所幫助,歡迎點擊文章右下角的“ 在看 ”。
期待你關注我的公眾號 清風Python ,如果覺得不錯,希望能動動手指轉發給你身邊的朋友們。
希望每周一至五清晨的7點10分,都能讓清風Python的知識文章叫醒大家!謝謝……
失去循環標記的Python,我這樣實現跳出外層循環_第3張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本黄大片影院一区二区 | 国产97色在线 | 亚洲 | 久久精品一级 | 91国色| 日本超碰 | 777色狠狠一区二区三区香蕉 | 精品亚洲综合在线第一区 | 国产精品自线在线播放 | 精品一区二区三区水蜜桃 | 色综合小说网 | 日本人成年视频在线观看 | 欧美亚洲国产另类在线观看 | 中文成人在线 | 久久久久久免费免费 | 国产精品1区2区 | 亚洲性猛交xx乱 | 欧美视频在线播放 | 精品久久成人免费第三区 | 午夜精品视频在线观看 | 欧美成人免费在线视频 | 久热久热 | 国产精品小视频在线观看 | www.天天操 | 一级毛片网 | 久久久国产这里有的是精品 | 激情 婷婷 | 天天插天天插天天插 | 亚洲欧洲高清有无 | 国产精品久久久久久久久久久久 | 成人免费网站在线观看 | 在线久草| 日韩1页 | 色综合色狠狠天天久久婷婷基地 | 亚洲最大视频网站 | 日韩国产成人资源精品视频 | 国产欧美日韩亚洲精品区2345 | 欧美777精品久久久久网 | 亚洲香蕉久久一区二区三区四区 | 男女啪啪免费观看无遮挡动态图片 | 久久99国产综合精品免费 | 天堂av免费观看 |