Python进阶之路3.5.4循环中的else语句-创新互联

3.5.4 循环中的else语句

前面讲过,通过break语句可以直接退出当前的循环,但在某些情况下,想知道循环是正常结束的,还是通过break语句中断的,如果使用传统的方法,会有如下代码。

创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、营销网站、网站程序开发、HTML5响应式网站建设成都做手机网站、微商城、网站托管及网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都人造雾行业客户提供了网站营销推广服务。
import random                           #导入随机数模块
x = 0
break_flag = False                      #设置是否使用break语句终端循环的标志变量
while x < 10:
    x += 1
    if x == random.randint(1,20):       #产生一个1到20的随机整数
        break_flag = True               #如果循环终端,将标志设为True
        print(x)
        break;
    if not break_flag:                  #如果标志为False,表示循环是正常退出的
        print("没有中断while循环")

其实有更简单的写法,就是为while循环加一个else子句,else子句的作用仅仅是while正常退出时执行(在循环中没有执行break语句)。else子句可以用在while和for循环中。else子句在循环中的用法请看实例3.9。

[例 3.9] 本例会在while和for循环语句中加上else子句,并通过一个随机整数决定是否执行break语句退出循环。如果程序是正常退出循环的(条件表达式为False时退出循环),会执行else子句代码块。

import random                               #导入随机数模块
x = 0
while x < 10:
    x += 1
    if x == random.randint(1,20):           #产生一个1到20的随机整数
        print(x)                            
        break;
else:                                       #while循环的else子句
    print("没有中断while循环")

numbers = [1,2,3,4,5,6]
for number in numbers:
    if number == random.randint(1,12):      #产生一个1到12的随机整数
        print(number)
        break;
else:                                       #for循环的else子句
    print("正常退出循环")
输出结果:
7
正常退出循环

要注意,由于上面这段代码使用了随机整数,所以每次执行的结果和我的输出结果可能都会不一样。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Python进阶之路3.5.4循环中的else语句-创新互联
网站链接:http://pwwzsj.com/article/eecee.html