2.5.2 再谈循环
Last updated
Last updated
在介绍到条件和循环之前,我们见到的程序都是按顺序一行一行执行的, 条件和循环则不同。
循环有终止条件,也就是说,每次循环都会进行一次条件判断, 通过条件判断的结果决定下一条执行哪里。
一个循环的结构可以拆解成上面的模式。在Python中,if 不满足条件 then 跳转到语句5
和跳转到if
被 一个while
语句替换了。所以,要实现循环,只需要条件语句,再加上“跳转”指令即可。 汇编语言中便是这么做的。
一些“不那么”高级语言,如C,提供了“跳转”。许多比较“现代”的语言如Python则没有显式的“跳转”, 因为这些“跳转”通常被诟病降低可读性、容易出错等。 但Python仍可以实现这样的功能, 参见Python文档 (这里用到了“异常”,下一节将会介绍)。
do-while
循环一些语言中提供了do-while
循环,
另外一些语言,比如C以及受C影响的C++,C#,Java等一票语言, 它们的for
循环长这样:for(语句1; 条件; 语句2) {循环体}
。 翻译成Python,大概是
这两种循环的形式比较直观地把汇编语言中的循环翻译成了高级语言。 但在高级语言的语境下有时候会显得比较多余。
也有人提议在Python中加入do-while
,但被拒绝。 这里有一段解释。
翻译一下大概就是觉得没必要。
Task For Tutors
以你的编程经验,这个问题怎么看?
之前提到break
语句可以跳出循环,有个在许多语言中都有些令人头疼的问题,如何跳出两层循环, 这里给出了一些解答。