2012-12-02 57 views
2

在這種情況下:Python的同時(布爾):

swag = True 
i = 0 

while swag: 
    i=i+1 
    print(swag) 
    if i == 3: 
     swag = False 

後會3圈while循環退出?

是否同時贓物 - 檢查贓物,或如果贓物是真

+8

關於第一個問題 - '你爲什麼不跑它並檢查'?對於你的第二個問題 - 它檢查swag是否爲True。 –

+2

夥計,你甚至有一個打印聲明。運行它,並計算你看到「真」的次數 – Talvalin

+0

在我問這個問題之前,我運行了它 - 但由於某種原因導致了無限的while循環,所以我想檢查Stack Overflow。請不要低估這一點。檢查不能傷害它嗎? –

回答

6

while swag:將運行而swag是「truthy」,它會同時swagTrue,當你設置swagFalse不會。

+2

對於「truthy」+1,因爲它會實際評估表達式(不管它是什麼)爲一個布爾值。 – poke

4

不同時贓物 - 檢查是否存在的贓物或者贓物是真

它檢查是否swagTrue(或"truthy",我應該說)。是的,循環將在3次迭代後退出,因爲必須執行i=i+13次直到i == 3和(通過if-語句)swag設置爲False,此時循環將退出。

但爲什麼不自己檢查一下呢?

swag = True 
i = 0 

while swag: 
    i=i+1 
    print(swag) 
    if i == 3: 
     swag = False 
 
True 
True 
True 
0

還可以縮短表達通過1通過使用以下表示法來遞增變量 'I': I + = 1(同一I = I + 1)