python基础——循环

(一)循环语句

程序在一般情况下是按顺序执行的,而循环语句允许我们执行一个代码块多次。

Python中的循环允许嵌套。

(二)循环结构类型

Python中提供了以下两种基础循环结构,注意,Python中没有do-while循环:

  • for...in...
  • while

1. for循环:

(1)语句格式:

for iterating_var in sequence: statements(s)

iterating_val就是迭代变量,可以是一个变量或者一个索引,sequence则是一个序列,也就是循环体,而statement(s)对应了一个循环语句块,对应了循环执行内容。

其逻辑为:将一个序列对应的表达式列表的第一项分配给迭代变量,然后执行循环语句块,完成后将表达式列表的下一项再分配给迭代变量,再次执行循环语句块,直到序列被完成。 注意,迭代变量可以是序列的索引,利用索引和偏移量遍历序列。

简单的例子如下:

1
2
3
4
5
6
7
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()中的项目。

简单的例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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死循环,不能直接在表达式中定义变量。

简单的例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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跳出而中断的)的情况下执行.

简单例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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退出的是当前代码块的循环,不会全部退出。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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已经不需要必须使用空语句了,不举例子


python基础——循环
http://example.com/2023/07/11/python基础——循环/
作者
07xiaohei
发布于
2023年7月11日
许可协议