python中的循环有for循环(有限循环)和while循环(无限循环)
一、for循环
1.python中for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
2.for循环后面可以跟 else(for循环全部正常执行完后执行else,否则不执行)
语法如下:
for '变量' in '序列': #业务逻辑 else: #业务逻辑
在for循环之前,先说下range()函数,它是一个数字序列
range(len)
len代表数字序列的个数,它是从0开始自增的。比如range(6) 就代表[0,1,2,3,4,5]
首先看下range()在python3环境下执行
这个函数在python3下,看不到效果,在python2下可以查看,如下图所示
接下来,使用for循环将range(6)打印出来
for i in range(6):
print(i)
else:
print("循环体执行完毕")
执行结果
0
1
2
3
4
5
循环体执行完毕
由此可以看出,当for循环执行完之后,else语句也执行了
还可以对range()指定区间
#range(1,6) range(index,len) 代表 从下标1开始往后面取值,取到下标为6的位置 [1,2,3,4,5]
for i in range(1,6):
print(i)
执行结果
1
2
3
4
5
也可以指定增量,也叫步长(步长也可以是负数)
#range(1,6,2) range(index,len,步长) 代表 从下标1开始往后面取值并且每两个取一个值,取到下标为6的位置[1,3]
for i in range(1,6,2):
print(i)
执行结果
1
3
5
for i in range(-1,-6,-2):
print(i)
运行结果
-1
-3
-5
为了更直观的查看数据,现在通过交互器模式演示下上面的range(函数),
python2环境演示
如果想在python3中查看效果,需要用到类型转换将range()转换成list()
list(range(6))
python3演示
在循环中,会使用到break和continue
break 语句可以跳出 for 和 while 的循环体。循环不在执行,即终止整个循环体
continue 跳过当前循环块,继续进行下一轮循环
下面在for循环中演示下效果
for i in range(6):
print(i)
if i==3:
print("进入 continue,%s"%i)
continue
elif i==4:
print("进入break,%s"%i)
break
else:
print("循环体执行完毕")
执行结果
由此可以看出break,continue在for循环中的作用,同时当循环没有正常全部执行成功时,for循环后的else将不被执行
二、while循环
1.while循环之所以成为无限循环,是因为当while后面的条件成立(即为True),它可以一直循环下去
2.while循环后面可以跟else,当while条件不成立是执行,同时当while循环中断时不执行
while '条件': #业务逻辑 else: #业务逻辑
num = 6
i=0
while i<6:
i+=1
print(i)
else:
print("while循环结束")
运行结果
1
2
3
4
5
6
while循环结束
下面在while中使用break和continue
num = 6
i=0
while i<6:
i+=1
if i==4:
print("进入 continue,%s"%i)
continue
elif i ==5:
print("进入break,%s"%i)
break
else:
print(i)
else:
print("while循环结束")
执行结果