我有这段代码:
num = 5
if num > 2:
print(num)
num -= 1
print(num)
输出结果为:
5
4
在最后一次迭代中,条件是
3> 2
本应该打印但不是。
有人可以帮助我做到:
5
4
3
答案 0 :(得分:4)
因为它不是循环,所以只是一系列陈述。
num = 5 # set num = 5
if num > 2: # since num > 2, this will hit
print(num) # print "5"
num -= 1 # set num = 4
print(num) # print "4"
您需要将语句括在循环中以获得所需的结果:
num = 5
while num > 2:
print(num)
num -= 1
答案 1 :(得分:1)
正如其他人在评论中指出的那样,在达到某个条件之前,没有任何东西可以让程序循环。您的代码完全按照预期执行。如果你希望它在条件为真时循环,那么这样做:
num = 5
while num > 2:
print(num)
num-= 1
if语句只评估一次,而while
语句将在条件为真时运行,直到条件为假。