【发布时间】:2022-02-03 03:35:31
【问题描述】:
我没有编写递归程序的经验。我正在尝试找到一个递归解决方案,该解决方案使用 for 循环为给定的两个字符串提供所有不同的组合。 我想找到一个在递归中使用 for 循环的解决方案。对于给定的字符串 ABC,DEF。输出必须是 AD、AE、AF、BD、BE、BF、CD、CE、CF。假设组合长度 = 2。 我写了下面的代码,它不起作用。任何人都可以帮忙吗?在 for 循环中进行递归的思考过程是什么?
def mkcb(s1, s2, i, ns):
if i <= 2:
print(ns)
for k in range(len(s1)):
mkcb(s1[1:], s2, i+1, s1[k] + s2[k])
mkcb('ABC', 'DEF', 0, '')
【问题讨论】:
-
您的代码中没有递归。你为什么不研究一些递归的例子呢?
-
这能回答你的问题吗? Recursively find all combinations of list