【Python小短课 10】可怕的重复

重复不可怕,可怕的是一直重复。

上一回说到如何使用循环语句来实现重复,那么在Python世界里又有什么手段可以干预重复呢?

break语句,可以跳出当前循环。

continue语句,可以不执行下面逻辑,且继续循环。

先来理解break。




break跳出2层 python break跳出几层循环 python_break跳出2层 python


一个简单的找宝藏程序,每次都只有1/10概率找到,找到则break跳出当前循环。可以想想,如果一直找宝藏不跳出,那最终就是累死CPU这个忠实的仆人。

代码:

#!/usr/bin/python# -*- coding: UTF-8 -*-import random#找宝藏的次数iCount = 0while True: iCount = iCount + 1 #随机生成1~10的随机数,只有小于等于1才认为找到宝藏,也即只有1/10的概率找到宝藏 iRan = random.randint(1,10) if iRan<=1: break print(str(iCount)+"次找到宝藏")

再来理解continue。


break跳出2层 python break跳出几层循环 python_随机数_02


一个稍微升级的找宝藏程序,每次找宝藏都会遇到守护的神兽,只有1/10的概率(等于10)才能击败神兽,如果是小于等于9,也即无法击败神兽,则执行continue,也即不会再执行这一段代码:


break跳出2层 python break跳出几层循环 python_Python_03


而是直接重新跳转到下一次循环,继续循环。

代码:

#!/usr/bin/python# -*- coding: UTF-8 -*-import random#找宝藏的次数iCount = 0while True: iCount = iCount + 1 #随机生成1~10的随机数,小于等于9则认为打不过守护的神兽,也即只有1/10的概率(等于10)才可以击败神兽 iRan = random.randint(1,10) if iRan<=9: continue #随机生成1~10的随机数,只有小于等于1才认为找到宝藏,也即只有1/10的概率找到宝藏 iRan = random.randint(1,10) if iRan<=1: break print(str(iCount)+"次找到宝藏")

上面是以while循环来做例子,对于for循环,同样可以通过break、continue来干预循环。

另外,各位小萌新应该看到了一个新朋友"import"语句,要介绍么?暂时不打算介绍。大家永远记住,只重点关注当前阶段必要知识点,保持些许好奇心是好,但切勿耽搁。尚未说过的知识点,譬如import random,random.randint,大家暂时只需知道这个实现了随机数功能即可。好比说,大家天天使用手机,但大部分时候并不需要知道手机的整个生产链是如何运转的,可以等到要进入手机产业,再行理解即可。


break跳出2层 python break跳出几层循环 python_Python_04