请问python3.0中,if后面一定要跟else吗
num = 0while num<=100:
if num%2 == 0:
print(num)
num = num + 1
# else:
# num += 1
如果我把else这两行注释掉,按F5后再idle中会卡着不动,这是为什么呢?不是说可以if后面不加else吗?
结果:
>>>
=============== RESTART: C:/Users/g18291/Desktop/python/fish6.py ===============
0
本帖最后由 昨非 于 2021-1-8 16:50 编辑
如果去掉else分支,当if不成立的时候,怒骂作为循环变量,它不变怎么跳出循环啊
else可以不加,但是num+=1一定要出现在每次循环里,无论执行if还是else
num = 0
while num<=100:
if num%2 == 0:
print(num)
num += 1#大可把这一行写到if外,这样无论if满不满足num都会+1 昨非 发表于 2021-1-8 16:44
如果去掉else分支,当if不成立的时候,怒骂作为循环变量,它不变怎么跳出循环啊
else可以不加,但是num+=1 ...
哦哦,明白了,非常感谢 num = 0
while num<=100:
if num%2 == 0:
print(num)
num = num + 1 # 只有 num 是偶数的时候 num 的值才会更新
num 从 0 开始,算是一个偶数,于是执行 num = num + 1,num = 1 是个奇数,由于 num 只在偶数的时候才会更新,从此,num 再没有机会修改,while 循环也就变成一个死循环了。 Gaoooo 发表于 2021-1-8 16:56
哦哦,明白了,非常感谢
满意的话请设为最佳答案吧
页:
[1]