stupid_fishman 2023-09-07 22:45 采纳率: 25%
浏览 3

可变长度参数怎么递归?

def fun(*args, **kwargs): 
    param1=param1 -1
    param2=param2 -1
    .....
    ..... 
    fun(param1,param2.....)

我想递归fun这个函数,但参数是可变的,要怎么实现?

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-07 23:15
    关注

    引用 皆我百晓生 小程序回复内容作答:
    如果要递归调用一个可变长度的参数函数,你可以使用递归调用时传递不同的参数来实现。在你的例子中,你可以这样递归调用fun函数:

    def fun(*args, **kwargs): 
        if len(args) > 0:
            param1 = args[0] - 1
            param2 = args[1] - 1
            # ...
            # ...
            fun(param1, param2)
    

    在递归调用fun函数时,可以通过索引访问可变长度参数的不同元素,并将它们作为新的参数传递给递归调用。请注意你可能需要添加一些停止递归的条件,以避免无限递归循环。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月7日