Makotomax 发表于 2020-6-18 11:15:28

if嵌套的while循环跳出后不进入elif判断……

{:10_285:} 纯小白,个人随便写了点练习代码……如下:

a = 1
b = 10

if b-a>5:
    while b-a>5:
      a += 1
      print(str(b-a))
elif b-a<5 and b-a>0:
    while b-a<5 and b-a>0:
      a += 1
      print('2 floor')
elif b-a == 0:
    print('3 floor')
else:
    pass

print结果是只打印了8,7,6,5。说明程序在while循环结束后就跳出了,没有进入后两个elif的判断。麻烦大佬们瞅瞅是哪里出了问题……{:10_266:} {:10_266:}

qiuyouzhi 发表于 2020-6-18 11:18:51

if完成后是不可能执行elif和else的,
而且可以直接if-elif,不需要else
当然,一个if也可。

Twilight6 发表于 2020-6-18 11:19:50



改成这样,elif 和 if 只要有一个 成立 就不会执行多余的 elif
a = 1
b = 10

if b-a>5:
    while b-a>5:
      a += 1
      print(str(b-a))
if b-a<5 and b-a>0:
    while b-a<5 and b-a>0:
      a += 1
      print('2 floor')
if b-a == 0:
    print('3 floor')
else:
    pass

Makotomax 发表于 2020-6-18 11:25:10

{:10_306:}之前一直误以为while跳出后会再次判断执行条件。按照大佬的方法修改后果然好了。{:10_298:}肥肠感谢~!
页: [1]
查看完整版本: if嵌套的while循环跳出后不进入elif判断……