目录
while和for都可以用else,else下方代码块指当循环正常结束后要执行的代码
1、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
2、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可以运行
3、elif
如果想要有多个else怎么办?用elif。if elif elif else。elif后面要跟上条件,和if一样用法,else放在最后,如果前面的if和elif都不符合,那就执行else。
str = "hjgsdfdskfal;htr"
for s in str:
if s == 'h':
print(s, end = " ")
elif s == 'f':
print(s, end = " ")
else:
continue
h f f h
结束。