上一篇:Python流程控制语句之选择语句
文章目录
- 前言
- 一、while 循环
- 二、for 循环
- 1. 进行数值循环
- 2. 遍历字符串
- 三、循环嵌套
- 总结
前言
生活中很多问题都无法一次解决,就像谚语所说:罗马不是一天建成的。一些事物必须周而复始地运转才能保证其存在的意义,就好比公交车、地铁等交通工具必须每天往返于始发站和终点站之间。类似于这样反复做同一件事的情况,称为循环。Python语言中循环有两种类型:
- 一直重复,直到条件不满足时才结束的循环,称为条件循环。只要条件为真,这种循环会持续下去,比如 while 循环。
- 重复一定次数的循环,称为计数循环,如 for 循环。
一、while 循环
while 循环是通过一个条件来控制是否要继续反复执行循环体中的语句。
语法如下:
while 条件表达式:
循环体
说明:循环体是指一组被重复执行的语句。
当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while 循环语句的执行流程如下图所示:
下面通过一个具体的代码实例来看看 while 循环的使用:
i = 0
while i <= 10: # 当i小于等于10的时候执行下面循环体
if i % 2 == 0: # 如果i能被2整除,则打印出i的值
print(i)
i += 1 # 每执行一次循环体就给i的值加1
如上代码的作用是打印出10以内所有的偶数,代码执行结果如下图所示:
注意:在使用 while 循环语句时,一定不要忘记添加循环终止条件(例如上述代码中最后一行代码:i += 1 ),否则将产生死循环。
那什么是死循环呢?就是代码会一直循环运行下去,可能会导致电脑崩溃,这是很多零基础大白最容易犯的错误,比如下面视频所示场景:
其实我们可以看到死循环之所以永无止境地运行下去,就是因为少了将循环的条件表达式结果改变为 False 的代码,所以这里一定要注意别漏掉哦。不过即使真的遇到死循环也别怕,我们可以强制结束程序。
如果是小的死循环,我们可以直接将代码手动终止运行,就是点击PyCharm中的红色方形按钮,如下图箭头所示:
如果是大的死循环,那可能会在瞬间导致电脑死机,这时候我们鼠标已经点击不了任何按钮,那就只能在任务管理器里面关掉后台PyCharm进程。
打开任务管理器的快捷方式是同时按下 Ctrl + Alt + Delete 键 ,在出现的选项中点击任务管理器,进入管理器页面如下图:
在当前页面中鼠标右键点击 PyCharm,在下拉列表中选择结束任务,即可关掉PyCharm。
二、for 循环
for 循环是一个依次重复执行的循环。通常适用于遍历序列,以及迭代对象中的元素。
语法如下:
for 迭代变量 in 对象:
循环体
其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表等;循环体为一组被重复执行的语句。
for 循环语句的执行流程如下图所示:
1. 进行数值循环
在使用 for 循环时,最基本的应用就是进行数值的循环取用。例如想要实现从 1 到 1000 的累加,可以通过下面的代码:
result = 0 # 保存累加结果的变量
for i in range(1001):
result += i # 实现累加功能
print(result) # 循环结束之后输出结果
在上面的代码中,使用了 range() 函数,该函数是Python内置的函数,用于生成一系列连续的整数,多数情况和 for 循环语句搭配使用。其语法格式如下:
range(start, end, step)
参数说明:
- start:用于指定计数的起始值,可以省略,如果省略则从 0 开始。
- end:用于指定计数的结束值(但不包括该值,如 range(5),则得到的值为 0~4,不包括 5),end参数不能省略。当 range() 函数中只有一个参数时,即表示指定计数的结束值。
- step:用于指定步长,即两个数之间的间隔,可以省略,如果省略则表示步长为 1。例如,range(1, 5) 将得到 1、2、3、4。
注意:在使用 range() 函数时,如果只有一个参数,那么表示指定的是 end;如果有两个参数,则表示指定的是start 和 end;如果三个参数都存在时,最后一个参数才表示步长。
例如,使用下面的 for 循环语句,将输出 10 以内的所有偶数:
for a in range(0, 11, 2):
print(a)
得到的结果如下图:
2. 遍历字符串
使用 for 循环语句除了可以循环数值,还可以逐个遍历字符串,例如,下面的代码可以将横向显示的字符串转换为纵向显示:
a = "要么出众,要么出局"
print(a) # 横向显示
for i in a:
print(i) # 纵向显示
上面代码的运行结果如下图所示:
说明:for 循环还可以用于遍历列表、元组、集合和字典等等,这些序列类型以及相关的遍历方法将在后面博客中进行介绍。
三、循环嵌套
一个循环体中嵌入另一个循环,这称为循环嵌套。例如在电影院找座位号,需要知道第几排第几列才能准确找到自己的座位号,这个寻找座位的过程就类似循环嵌套。
在 Python 中,for 循环和 while 循环都可以进行循环嵌套。
例如,在 for 循环中套用 for 循环的格式如下:
for 迭代变量1 in 对象1:
for 迭代变量2 in 对象2:
循环体2
循环体1
在 while 循环中套用 while 循环的格式如下:
while 条件表达式1:
while 条件表达式2:
循环体2
循环体1
在 for 循环中套用 while 循环的格式如下:
for 迭代变量 in 对象:
while 条件表达式:
循环体2
循环体1
在 while 循环中套用 for 循环的格式如下:
while 条件表达式:
for 迭代变量 in 对象:
循环体2
循环体1
下面看一下循环嵌套在代码中的实际应用:用代码打印九九乘法表。这里需要用到的循环嵌套模式是for 循环中套用 for 循环,代码如下:
for a in range(1, 10): # 输出九行
for b in range(1, a+1): # 输出和行数相等的列
print(str(b) + "x" + str(a) + "=" + str(a * b) + "\t", end="")
print("") # 换行
程序运行结果如下图所示:
除了上面介绍的四种嵌套格式外,还可以实现更多层的嵌套,因为与上面的嵌套方法类似,这里就不再逐一列出了。
总结
以上就是今天跟大家介绍的循环语句,这其中 for 循环是日后开发中最常用的循环结构,其次就是 while 循环。下一篇会跟大家聊聊Python流程控制中的跳转语句,希望对大家有帮助哦❥(ゝω・✿ฺ)。