需要把它变成一个递归函数[关闭]

Posted

技术标签:

【中文标题】需要把它变成一个递归函数[关闭]【英文标题】:need to make this into a recursive function [closed] 【发布时间】:2022-01-09 07:37:56 【问题描述】:

我需要将其转换为递归函数。该程序基本上会打印出字符串的所有变体。

def comb(L):          
    for i in range(3):
        for j in range(3):
            for k in range(3):
                  
                # check if the indexes are not
                # same
                if (i!=j and j!=k and i!=k):
                    print(L[i], L[j], L[k])
                      
# Driver Code
comb([1, 2, 3])

输出:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

【问题讨论】:

如果代码已经实现了你需要的功能,为什么还要改成递归呢? 可能是作业什么的 有什么问题?我建议阅读本指南:***.com/help/minimal-reproducible-example list(itertools.permutations([1,2,3])) 有效。如果您需要递归执行此操作,请参阅How do I ask homework questions? - 尝试和具体问题是此处讨论主题的预期协议。 【参考方案1】:

这可能会让你开始:

列表的每个排列都可以通过从列表中选择一个值并将其放在列表中剩余的每个排列的前面,然后取出该值来进行。 (请注意,“剩下的”部分比您开始时的列表要小。) 当您的列表足够小时,它是唯一的排列。

【讨论】:

以上是关于需要把它变成一个递归函数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

有人可以解释这个递归函数吗? [关闭]

python中的递归thribonacci函数[关闭]

使用带有一个参数函数的递归查找数字的平方[关闭]

gcc 是不是优化递归函数?怎么做? [关闭]

简单的递归函数误解[关闭]

如何递归地将十六进制转换为十进制[关闭]