温习题
while循环
break在循环中的作用
上面的这种while True(无限循环) + if 条件 break(强制终止)的编程风格是在无可奈何时使用,就是说没有可作为循环终止条件时使用的。因为如果“if 条件 break”中的“条件”不可能达到时就成了“死循环”。例如下面的程序:
当输入的是7时,就成了死循环(下面视频):
,时长00:10
所以在多线程编程中,即使没有终止条件,也要设一个逻辑变量作为循环终止条件,这样其它线程可以通过改变这个逻辑变量而终止循环。下面代码只是示意,并不能执行。
·
·
·
·
·
·
·
·
·
#线程1import randomnum = int(input("输入终止余数:"))running = Truewhile running: i = random.randint(0,100) if i % 7 == num: break; print(i)
·
·
·
#线程2#终止线程1的无限循环线程1.running = False
本文例子真的没有作为循环终止的条件吗?不是的,把代码改为下面的样子就行了。
程序代码(文本代码附录1):
运行结果:
break、continue适用于所有循环
虽然continue放在for循环中讲,break放在while循环中讲,但其实continue和break都可以用到这两个循环中。下面是使用continue的龟兔再赛跑程序(只是说明语法,不是对代码有什么优化)。
假如改变赛跑规则,抽签决定谁可以跑,每次抽签一定有一个人跑,因此,19次(包括)以内一定会结束比赛。
程序代码(文本代码附录2):
运行结果:
练习题
第一题:
第二题:用for和while两种循环实现: