循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
Python 提供了 for 循环和 while 循环(在 Python 中没有 do..while 循环):
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
1.while循环
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while判断条件(condition):
执行语句(statements)……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。
执行流程图如下:
Gif 演示 Python while 语句执行过程
复杂一点:
num =0
nums= 10
while num <=nums:print("num的值为",num)
num+= 1
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
var1 =0while 1:print("var1=",var1)
var1+= 1
if var1 == 10:break
无限循环var1 = 0
while 1:print("var1=",var1)
var1+= 1
结果:
var1= 49982
var1= 49983
var1= 49984
var1= 49985
var1= 49986
var1= 49987
Process finished with exit code -1
如果不点击结束,否则会一直执行下去。
循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
var1 =0
var2= 5
while var1 <=var2 :print("var1=",var1)
var1+= 1
else:print("执行结束!")-----结果-------var1=0
var1= 1var1= 2var1= 3var1= 4var1= 5执行结束!
简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
var1 =0
var2= 5
while (var1 <= var2): print("中国加油!中国必胜!")
2.for循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for循环的语法格式如下:
for iterating_var insequence:
statements(s)
流程图:
string = "MYQDX"
for str instring:print("当前字母:",str)#当前字母: M#当前字母: Y#当前字母: Q#当前字母: D#当前字母: X
strings= ['蜘蛛','猴子','大象','蚂蚁','蟑螂']for str instrings:print("当前的动物为:",str)#当前的动物为: 蜘蛛#当前的动物为: 猴子#当前的动物为: 大象#当前的动物为: 蚂蚁#当前的动物为: 蟑螂
通过序列索引迭代
另外一种执行循环的遍历方式是通过索引,如下实例:
strings = ['蜘蛛','猴子','大象','蚂蚁','蟑螂']for str inrange(len(strings)):print("当前的动物为:",strings[str])#当前的动物为: 蜘蛛#当前的动物为: 猴子#当前的动物为: 大象#当前的动物为: 蚂蚁#当前的动物为: 蟑螂
循环使用 else 语句
var1 =0
var2= 10var3= 8
for num inrange(var1,var2):if var1 <= var3 and var2 >=var3:if var1 ==var3:print("var3的值在var1和var2之间,且值为",var1)
var1+= 1
else:print("程序结束!")-----结果-----var3的值在var1和var2之间,且值为8程序结束!
3.循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。
for 循环嵌套语法:
for iterating_var insequence:for iterating_var insequence:
statements(s)
statements(s)
因此,可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,也可以在for循环中嵌入while循环。
实例:
strings = ['北京','南京','','东京']for string instrings:for str instring:print("strings中的文字为:",str)#strings中的文字为: 北#strings中的文字为: 京#strings中的文字为: 南#strings中的文字为: 京#strings中的文字为: 东#strings中的文字为: 京