Python中的for、while循环都有一个可选的else分支,在循环迭代正常完成之后执行
如果我们不是以正常方式退出循环,那么else分支将不被执行。也就是说在循环体内用break、return退出是不会执行else语句
例子:判断一个数是否是素数
n = int(input('请输入一个正整数:'))
for i in range(2, n):
if n % i == 0:
print('%d不是素数' %n)
break
else:
print('%d是素数' %n)
请输入一个正整数:7
7是素数
请输入一个正整数:10
10不是素数
Python 中的 for-else
和 while-else
是一种特殊的语法结构,用于在循环结束后执行一些操作
for-else
的语法如下:
for item in iterable:
# 循环体代码
if condition:
# 条件满足时的操作
break
else:
# 循环结束后执行的代码
在 for
循环中,如果循环正常结束(没有被 break
中断),则会执行 else
代码块中的内容
类似的,while-else
的语法如下:
while condition:
# 循环体代码
if condition:
# 条件满足时的操作
break
else:
# 循环结束后执行的代码
在 while
循环中,如果循环正常结束(条件不再满足),则会执行 else
代码块中的内容
这些语法结构可以用来检查循环是否成功完成了某个任务。例如,在搜索一个列表中是否存在特定元素时,可以使用 for-else
结构来判断是否找到了目标元素。如果找到了,则执行相应操作;如果没有找到,则执行 else
代码块中的内容
需要注意的是,如果在循环过程中使用了 break
语句提前跳出循环,则不会执行对应的 else
代码块
str1 = 'Python'
for i in str1:
print(i)
else:
print('循环正常结束之后要执行的else的代码')
P
y
t
h
o
n
循环正常结束之后要执行的else的代码
str1 = 'Python'
for i in str1:
if i == 'o':
break
print(i)
else:
print('循环正常结束之后要执行的else的代码')
P
y
t
h
str1 = 'Python'
for i in str1:
if i == 'o':
continue
print(i)
else:
print('循环正常结束之后要执行的else的代码')
P
y
t
h
n
循环正常结束之后要执行的else的代码
i=0
while i<5:
print(i)
i+=1
else:
print('hello world')
0
1
2
3
4
hello world
i=0
while i<5:
if i == 3:
break
print(i)
i+=1
else:
print('hello world')
0
1
2