while和for都可以用else,else下方代码块指当循环正常结束后要执行的代码
while
i = 1
while i <= 5:
print('lalala')
i += 1
else:
print('haha')
lalala
lalala
lalala
lalala
lalala
haha
可以看出,前面while循环结束后才开始else的代码块。如果在这里加入break和continue
i = 1
while i <= 5:
if i == 3:
break
print('lalala')
i += 1
else:
print('haha')
lalala
lalala
可以看出,直接退出所有循环。break退出是非正常循环,所以else不执行。如果是continue:
i = 1
while i <= 5:
if i == 3:
i += 1
continue
print('lalala')
i += 1
else:
print('haha')
lalala
lalala
lalala
lalala
haha
当i等于3时,i加1等于4,遇到continue,回到上面while判断,继续执行代码,所以是执行四次lalala
for
同样,for的else break与while相同,而continue
str = 'dgtbhga'
for i in str:
if i == 'b':
print('不打印')
continue
print(i)
else:
print('不会')
d
g
t
不打印
h
g
a
不会
continue是进入下一次循环,所以循环正常,所以else可以运行
结束。



