2014-04-01 177 views
2

我試圖例如迭代蟒蛇

def functionx(x): 
    while x > 0: 
     x = 2 + 2 
     x -= 1 

for x in functionx(x): 
     print(x) 

好做這樣的事情,在我想打印x = 2 + 2但它只是給我在功能的方向。

也只是想使用x = 2 + 2,使用它在另一個功能,但然後再次使用存儲的號碼等,但我不知道如何做到這一點。

+0

在函數的末尾使用'yield'代替 – sshashank124

+0

而不是我忘了寫的返回? – Holzhacker

+0

我已經更新了我的答案。 – sshashank124

回答

2

使用yield關鍵字。

def functionx(x): 
    while x > 0: 
     x += 1 
     yield x 

for i in functionx(1): 
    print i 

此創建functionx爲一個迭代。

+0

我不想直接給出答案。我只是舉了一個「例子」。此外OP'keeps設置x在循環中每次4,所以我擺脫了這一點。 – sshashank124

+0

謝謝,我也做了一個例子,猜猜它是錯的。感謝你的幫助 – Holzhacker