2014-04-01 54 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