问题
Why the following while loop is exited when x reaches 0?
x = 1
while x:
print(x)
x -= 1
It prints only 1. Shouldn't the while statement be something like: while x "is something": and not just while x:?
回答1:
Because bool(0) => False, and bool(x) for x!=0 => True, so it's like saying while x!=0 or while x>0 in your case.
回答2:
In boolean, none zero value means 'true' and 0 means 'false'. The code reaches the argument while(0) or while(false) and terminate the body
来源:https://stackoverflow.com/questions/46045023/python-while-x-statement