说实在的,最近家里事情比较多。又是装修,又是买车。但人生就是这样,每个人都不是生活在一个单一的环境中。而且,作为IT软件工程师,接触一下传统的人和事物,是别有一番乐趣。
我们上节课学习了条件控制,今天学习循环语句。实则,我们的人生每一步的选择,无论是小学、中学、大学都有择校、择专业,毕业之后还有择公司择工种等等。这些选择就相当于我们python程序的条件控制,当输入的条件定了,也就是你做出了选择,那么不同的选择有可能让你的人生与众不同。而这个不同,在你多年之后,是高兴呢?还是痛苦呢?
循环也是一样,我们每年、每月、每周、每天有没有循环往复的事情?至少呼吸和吃饭、睡觉就是吧,但在这种循环往复中,我们大家多年后来为什么会那么不一样?有的人中年后来依旧健康、乐观,而有的人中年后来却衰老、颓废。这也是由于我们所输入的条件不一样吧?
Python 中的循环语句有 for 和 while。
Python 中 while 语句的一般形式:
while 判断条件(condition): 执行语句(statements)……
以下是一个简单的 while循环实例:
while循环实例
以上程序输出如下:
程序输出
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
循环输出数字,并判断大小。程序示例:
循环输出数字
输出结果:
输出结果
如果你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中, 如下所示:
简单语句组
输出结果如下:
输出结果
这样的while程序,由于循环的条件是flag,而它的值为1,等同于True。也就是说这个条件是常数并且为真,这就是典型的无限循环。这种循环只要电脑不断电,就会一直执行下去。如果说它有什么实际用途的话,有一次我需要让电脑屏幕不关闭,否则网站学习的视频会终端。可以用这种无限循环让电脑一直处于活跃状态。
这种无限循环程序,可以用“ctrl+c”中断其执行。而实际工作中,总会想办法为这种无限循环设置终止条件的。
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for <variable> in <sequence>: <statements>else: <statements>
Python for 循环实例:
for 循环实例
输出结果:
输出结果
也可用于打印字符串中的每个字符:
打印字符串中的每个字符
输出结果如下:
输出结果
在 Python 中,for...else 语句用于在循环结束后执行一段代码。
语法格式如下:
for item in iterable: # 循环主体else: # 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
程序示例:
for-else程序
输出结果:
输出结果
以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体,不会执行 else 子句:
for 实例中使用 break 语句
执行脚本后,在循环到 "Runoob"时会跳出循环体,输出结果:
输出结果
在for或者while循环中,除了break之外,还会常常用到continue。它们都是让for循环终止的关键词,但使用起来不一样。Continue与break的区别:
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告知 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
while 中使用 break:
while 中使用 break
这就是避免一个无限循环的办法,设置让循环中断的条件(n==2)。输出结果如下:
输出结果
while 中使用 continue:
while-continue程序
输出结果如下:
输出结果
从输出结果可以看出,在continue下面的print语句是不会执行的。而continue的作用也是仅限如此,只是控制它所在的循环块,在continue后面的语句不执行。而对于再下面的print语句,与continue不在同一个循环块(看缩进)内是不受影响的。
今天我们学习了python语言的循环语句的for和while,这部分内容与条件控制共同构成了python语言的核心功能。应该说所有的计算机语言能够高效率工作,最基础的就是基于条件控制和循环控制,这让计算机能够更加高效工作。让我们保持学习热烈,多做练习,我们下期再见!