これは置換問題です。私は以下のコードを理解しようとしましたが、少し混乱しました。8行目の再帰コードの引数が 'string [:i] + string [i + 1:]'で 'string'でないのはなぜですか
8行目の再帰コードの引数が 'string [:i] + string [i + 1:]'で、 'string'ではないのはなぜですか?
私は、再帰的に 'string'引数がRuntimeErrorを返すことを知っています。
なぜですか?
順列リンク:https://www.codewars.com/kata/permutations/python
def permutations(string):
result = set([string])
if len(string) == 2:
result.add(string[1] + string[0])
elif len(string) > 2:
for i, c in enumerate(string):
print "1.c = %s and i is %d"%(c,i)
for s in permutations(string[:i] + string[i + 1:]):
print "2.string[:i] + string[i + 1:] is %s and i is %d"%((string[:i] + string[i + 1:]),i)
result.add(c + s)
print "3.result is %s"%result
return list(result)
...「i」の位置の文字を削除するように... –