调用函数并多次传递参数

时间:2015-06-22 09:24:49

标签: python function loops

我希望多次调用该函数,并在每次调用时使用它返回的参数。例如:

  def myfunction(first, second, third):
         return (first+1,second+1,third+1)

第一个电话:myfunction(1,2,3) 第二次调用将传递返回的变量:myfunction(2,3,4)并将其循环直到定义的时间。我该怎么做这样的循环?谢谢!

2 个答案:

答案 0 :(得分:2)

a,b,c = 1,2,3
while i<n:
    a,b,c = myfunction(a,b,c)
    i +=1

答案 1 :(得分:1)

def myF(x,y,z,i):
    print x, i
    while i:
        x += 1
        i -= 1
        return myF(x,i)

这将继续致电myF,直到i0,这将打破while循环,例如:

>>> myF(1,10)
1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
11 0

对于三个参数,您可以执行以下操作:

>>> def myF(x,y,z,i):
        print x,y,z,i
        while i:
            i -= 1
            x,y,z = map(lambda s:s+1,(x,y,z))
            return myF(x,y,z,i)


>>> 
>>> 
>>> myF(1,1,1,10)
1 1 1 10
2 2 2 9
3 3 3 8
4 4 4 7
5 5 5 6
6 6 6 5
7 7 7 4
8 8 8 3
9 9 9 2
10 10 10 1
11 11 11 0