2015-10-08 52 views
-2

我想在python中使用while循環做倒計數函數。基本上我希望它重新倒數,但我遇到了存儲初始值的問題。如何在python中存儲變量?

def function(n): 
    n = stored 
    while stored < 0: 
     print stored, 
     function(stored-1) 
    while stored > 0 & < function: 
     print stored 
     function(stored+1) 

我錯過了什麼?

+2

我想你想要做的是在第一次循環開始之前'stored = n',對吧? – maccinza

+1

您是否打算以遞歸方式進行此操作? – Seth

+2

'while stored> 0&

回答

6

你的函數格式奇怪,所以我做了一下重寫的。

在這裏你去:

def function(n): 
    stored = n 
    print(stored) 
    while stored > 0: 
     stored = stored - 1 
     print(stored) 
    while stored < n: 
     stored = stored + 1 
     print(stored) 

function(10) 
1

這部分沒有使用正確的語法。

while stored > 0 & < function: 

我想你的意思:

while stored > 0 and stored < function: 

注意&是位運算符,我相信這是不是你想要的*。
*感謝Blckknght和skrrgwasme從註釋

而且,使

n = stored 

使得作爲參數n沒用。 Did you mean

stored = n 

這對我來說會更有意義。

+1

'存儲時> 0和存儲<函數:'在語法上有效,但幾乎肯定不是預期的。 '&'是一個按位運算符,'function'是我們正在運行的函數的名稱,而不是可以用來比較的東西。 – Blckknght

+1

如果這就是OP的意圖,那麼'當存儲> 0和存儲<函數'實際上應該是'存儲> 0並存儲'函數'。單個'&'是一個按位運算符,而'和'是邏輯運算符。 – skrrgwasme

+0

謝謝,修復了答案 – Antony