如有兴趣了解更多请关注我的个人博客https://07xiaohei.com/
(一)循环语句
程序在一般情况下是按顺序执行的,而循环语句允许我们执行一个代码块多次。
Python中的循环允许嵌套。
(二)循环结构类型
Python中提供了以下两种基础循环结构,注意,Python中没有do-while循环:
- for…in…
- while
1. for循环:
(1)语句格式:
for iterating_var in sequence:
statements(s)
iterating_val就是迭代变量,可以是一个变量或者一个索引,sequence则是一个序列,也就是循环体,而statement(s)对应了一个循环语句块,对应了循环执行内容。
其逻辑为:将一个序列对应的表达式列表的第一项分配给迭代变量,然后执行循环语句块,完成后将表达式列表的下一项再分配给迭代变量,再次执行循环语句块,直到序列被完成。
注意,迭代变量可以是序列的索引,利用索引和偏移量遍历序列。
简单的例子如下:
str = "love everyone"
for char in str:
print(char,end=",")
print()
list1 = ["1","2","3",]
for i in list1:
print(i,end=",")
(2)range():
range是一个函数,它返回的是一个可迭代对象,在for in循环中使用于创建数字序列。
函数格式:range(stop)和range(start, stop[, step])
start表示计数初值,不输入默认为0,stop表示计数终值,必须指定,且不包括stop计数终值本身(因为实际上结束值表示的是下标),[,step]是指从初值到终值的步长,可以省略,默认值就是1。
参数对应:一个参数——stop;两个参数——start和stop;三个参数——start,stop和step。
注意事项:
- range()函数仅适用于整数,且所有参数都必须是整数类型。
- range()函数的对应区间是左闭右开
- 如果初值为0,步长为1,都可以省略,但不能只省略初值不省略步长。
- 步长值可以为正数或负数,不得为零,初值必须能够通过步长值指向对方(不能越离越远)。
- 用户可以按索引访问range()中的项目。
简单的例子如下:
for i in range(6):
print(i,end=' ')
print()
for i in range(3,8):
print(i,end=' ')
print()
for i in range(4,10,2):
print(i,end=' ')
print()
for i in range(8,4,-1):
print(i,end=' ')
print()
for i in range(8,3,-2):
print(i,end=' ')
print()
list2 = ["鸡", "你", "太", "美"]
for index in range(len(list2)):
print (list2[index],end=" ")
2. while循环:
(1)语句格式:
while condition:
statements(s)
condition是判断条件,使用一个条件表达式来完成判断是否结束循环。
判断条件为假时结束循环。
while循环和for…in循环的不同之处在于while循环要先将循环变量初始化或者直接使用while True死循环,不能直接在表达式中定义变量。
简单的例子如下:
i =0
while i<=10:
print(i)
i=i+1
while i>2:
print("enter the while1")
while i<2:
print("enter the while2")
#运行结果:
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
# enter the while1
# enter the while1
# enter the while1
# ......
j = 1
while True:
print(j)
j=j+1
# 运行结果:
# 1
# 2
# 3
# 4
# 5
# ......
3. 循环和else配合使用:
for/while可以和else组合使用。
格式:
循环语句
else:
代码块
循环语句就是普通的for和while语句,而else中的语句会在循环正常执行完(即循环不是通过break跳出而中断的)的情况下执行.
简单例子如下:
for i in range(1,3):
print(i)
else:
print("再多看一眼就会爆炸")
# 运行结果:
# 1
# 2
# 再多看一眼就会爆炸
for i in range(1,3):
print(i)
break
else:
print("再多看一眼就会爆炸")
# 运行结果:
# 1
(三)break,continue和pass
1. break:
break说明的是退出循环,执行下一命令。
对于嵌套循环,break退出的是当前代码块的循环,不会全部退出。
例子:
for i in "哎呦你干嘛":
print(i)
if(i=="干"):
break
# 运行结果:
# 哎
# 呦
# 你
# 干
for i in range(1,8):
for j in range(1,i):
print(j)
if(j==3):
break
#运行结果:
# 1
# 1
# 2
# 1
# 2
# 3
# 1
# 2
# 3
# 1
# 2
# 3
# 1
# 2
# 3
2. continue:
立刻跳出本次循环,剩余语句也不执行,直接开始下一轮循环。
嵌套循环逻辑同break。
例子:
for i in "哎呦你干嘛":
if(i=="干"):
continue
print(i)
for i in range(1,5):
for j in range(1,i):
if j==3:
continue
print(j)
#运行结果:
# 哎
# 呦
# 你
# 嘛
# 1
# 1
# 2
# 1
# 2
3. pass:
空语句,为了保持程序结构的完整性,不做任何事情,只用于占位。
python3已经不需要必须使用空语句了,不举例子