2017-09-04 69 views
1

爲什麼當x達到0時,下面的while循環退出?Python「while x:」語句

x = 1 
while x: 
    print(x) 
    x -= 1 

它只打印1。這句話不應該是:while x "is something":而不僅僅是while x:

+2

由於整數對象'0'在布爾上下文中評估爲'False':'bool(0)== False'。 Python中的所有對象都是「真實的」或「虛假的」。 –

+0

另外,[_什麼是Truthy和Falsy在Python中?它與True和False有什麼不同?(https://stackoverflow.com/questions/39983695/what-is-truthy-and-falsy-in-python-how-is-it-different-from-true-和假)也是有用的。 –

回答

1

因爲bool(0) => Falsebool(x) for x!=0 => True,所以它就像在說你的情況下說while x!=0while x>0

0

在布爾值中,零值表示「真」,0表示「假」。代碼在(0)或while(false)時達到參數並終止正文