2013-04-14 113 views
0

好了,所以我創建一個循環:Python布爾錯誤?

def equ(par1,par2): 
    con1=4/par1 

    ready=False 
    add=False 

    if ready==True: 
     if add==True: 
      par2+=con1 
      add=False 
      print("true") 
     elif add==False: 
      par2-=con1 
      add=True 
      print("False") 
    elif ready==False: 
     par2=con1 
    ready=True 
    input() 
    return par2 

我每次運行它,它不會做什麼它應該。我注意到它不會改變爲true。任何人都可以給我一些幫助嗎?謝謝! :)

+2

這裏沒有循環。你只是給出一個if條件。你想做什麼 ? – karthikr

+4

循環在哪裏? – Ander2

+0

Urgh。 '準備好=真'? – kindall

回答

1

首先,你沒有循環構造。你只有一個線性的邏輯流程。

其次,ready==True永遠不會是真的,因爲在代碼塊被擊中之前它被明確設置爲False

如果您打算重新使用布爾值ready,那麼您要麼保留其狀態在方法範圍之外的某個位置 - 一旦離開該方法,就會直接返回並將其設置爲再次請求False

+0

我有一個循環外面! :/但謝謝你。你幫了我。我只是要改變它一點,然後檢查。一旦我完成了,你能幫我解決第二個錯誤嗎?我會在一分鐘後告訴你。 – Sonofmetal

+1

這可能超出了問題的範圍,我有幾件事情要做......我不介意幫助,但您最好創建一個新問題來解決您的其他問題。 – Makoto

+0

好吧,它必須做同樣的事情......但行!我會提出一個新問題!謝謝您的幫助! :) – Sonofmetal