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:
?
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:
?
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.
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