python3 while-else和for-else语法

时间:2023-12-24 10:28:19

while...else:while判断条件不成立时,执行else语句;

语法:

  while 判断条件:
    语句1....
  else:
    语句2....

i初始值为2,i>0成立,则执行while语句;当i=0,i>0不成立,则就会执行else语句打印no。

i = 2
while i > 0:
print('ok')
i -= 1
else:
print('no') #执行结果
ok
ok
no

当i==1时跳出循环,是使用break跳出循环,并没有影响i的值,i>0还是成立,所以不会去执行else,执行结果就不会打印no。

i = 2
while i > 0:
print('ok')
i -= 1
if i == 1:
break
else:
print('no') #执行结果
ok

for...else:for循环完成时,执行else语句;

语法:

  for <var> in <seq>:
    语句1...
  else:
    语句2...

代码中完成了两次循环,所以打印两次ok后,直接运行else语句打印出no。

for i in range(1,3):
print('ok')
else:
print('no') #执行结果
ok
ok
no

代码中当i==1时,执行break跳出for循环,所有的循环并没有执行完成,所以不会执行else语句。

for i in range(1,3):
print('ok')
if i == 1:
break
else:
print('no') #执行结果
ok