for 和 while 循环
在程序设计的时候,我们最常用到的一项功能就是循环了。 而且这也是为什么我们喜欢机器的一个原因。想想如果有一个人无怨无悔,一直在帮你做着一件重复的劳动, 如果这个是真人的话,我想这世界上应该也没人愿意这么干。
只有机器才能将我们从这种重复的劳动中释放出来。今天我们从文件管理系统的角度, 看看有哪些东西是可以被循环解决的。
for 循环¶
在程序设计中,不管你使用哪种语言,其中都有一个叫 for
的循环种类。当你想要逐个把你书包里的书拿出来, 逐个将新书写上你自己的名字,这一类的重复事项,都可以让 for
来帮你。 下面我们来看看如果在文件系统中,我们想为文件名批量递增序号,应该怎么办。
想必当你试完以后,你也发现了,这个 range()
会一次次给你放出 0,1,2,3,4
这些数,如果是 range(10)
它就会放出从0到9的一共10个数。 这个 range(10)
当中的 10 也就是从0开始一直到10之前的10个数。其实你还可以像下面这么写。 range(2,5)
表示从2开始,一直到5之前的 2,3,4
3个数。
还有一种写法,可以让你跳着走,有时候不一定你想所有数都放出来,比如你想间隔几个在出一个数,你可以这么写。 range(3, 10, 2)
就表示了,从3开始,一直到10之前,每2次出一次数。
后面当我们学到列表和字典的时候,还有更多的玩法。 而且后面我们也会介绍关于 for
循环的偷懒用法~
While 循环¶
和 for 循环一样,while 循环在程序设计中也占据了大半江山。和 for 循环的最大不同点我列在下面的表格中:
特点 | |
---|---|
for | 天然适合在有限的循环中 |
while | 可以被用在无限循环中 |
其实我想表达的意思是,如果你脑海中想到的是要处理一个一开始就有明确长度的序列,那么你第一个想到的应该是 for 循环。 如果你脑海中这个序列你不知道要在什么时候停,或者它是无限长的一个序列,或者运行无限次数,那你第一个想到的应该要用 while 循环。 while 循环可以用条件来限制他的循环次数。
比如下面这个循环,我想猜一个数字(现在悄悄告诉你是20),当我猜的和这个数字不同的时候,我就往猜的数字上加一。 guess_num += 1
这个运算在前面讲过, 是用来做及时累加的功能。
注意,如果你不小心触发了死循环
,程序一直在运行,你只能强行停止程序。在莫烦Python上若运行碰到while死循环的话,你就只能刷新页面啦!
重要的话说三遍
死循环了请刷新页面!
死循环了请刷新页面!
死循环了请刷新页面!
continue 和 break¶
前面我们尝试过了按照一个条件来终止循环,但是我们还有一些小技巧,让循环更加好用,写得读着会更加舒服。 比如将要介绍的 break
,它最主要的目的就是为了个性化的终止当前循环。如果你有改过上面那个 while 循环的代码, 而且正好碰到了死循环的状态,你有可能会尝试这样写,用一个 count
来计数,统计尝试的次数,避免死循环的发生。
那么 break
也能救你于水火之中,及时停止循环,而且 break
这个词在我看来,自带终止的含义,就是用来处理危险状况的~
在 for
循环中,也是可以用 break
的。反正 break
和 continue
只要是个循环,他们就能管用。
好了,我们已经介绍了这个紧急刹车器
break
,那么我们再来介绍一下它的孪生兄弟 continue
。现在你可以简单的理解成这样:
比喻 | |
---|---|
break | 紧急弹出 |
continue | 算了,我接着来 |
continue
在我自己的实践中,我很常把它用在判断一个数据如果不能被处理的话,我就把它跳过,接着处理下一个数据。