while循环:
Python中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。直到条件不满足的时候才会跳出循环。
while 语句的语法格式如下所示:
while 条件表达式:
代码块
这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。
while循环的流程图如下:
例如,打印 1~100 的所有数字,就可以使用 while 循环,实现代码如下:
num = 1 #循环的初始化条件
while num<100:
print(num,end=" ")
num +=1
print("循环结束!") #注意看,执行这句代码,是当num=100的时,不满足num<100的时候才会执行
仔细看,其实这段代码并不符合题目要求。因为当num=100的时候,就会跳出循环不执行打印这个数字的代码 ,所以最终输出结果为1——99!!再次强调,只要位于 while 循环体中的代码,其必须使用相同的缩进格式(通常缩进 4 个空格),否则 Python 解释器会报 SyntaxError 错误(语法错误)。
除此之外,while 循环还常用来遍历列表、元组和字符串,因为它们都支持通过下标索引获取指定位置的元素。例如,下面程序演示了如何使用 while 循环遍历一个列表:
ls = [1,2,3,4,5]
i=0
while i < len(ls):
print(ls[i])
i+=1
for循环:
它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。
for 循环的语法格式如下:
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为循环体。
for循环流程图如下所示:
在使用 for 循环时,最基本的应用就是进行数值循环。
比如说,想要实现打印出 1 到 100 的数,可以执行如下代码:
for i in range(1,101):
print(i,end=" ")
当用 for 循环遍历 list 列表或者 tuple 元组时,其迭代变量会先后被赋值为列表或元组中的每个元素并执行一次循环体。比如:
ls = [1,2,3,4,5]
for i in ls:
print(i,end=" ")
总结:个人感觉,在大多数情况下,for与while可以通用。最让我觉得区别最大的是,for循环适用于知道多少次循环范围的时候,而while不知道具体要循环多少次,直到满足条件才跳出循环。