新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前面讲过,通过break语句可以直接退出当前的循环,但在某些情况下,想知道循环是正常结束的,还是通过break语句中断的,如果使用传统的方法,会有如下代码。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的永仁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
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
正常退出循环
要注意,由于上面这段代码使用了随机整数,所以每次执行的结果和我的输出结果可能都会不一样。