def perms(s):
'''(str) -> list of str
Return all permutations of s.
'''
if s == '':
return ['']
smaller = perms(s[1:])
print(smaller)
bigger = []
for p in smaller:
for i in range(len(p) + 1):
new_perm = p[:i] + s[0] + p[i:]
bigger.append(new_perm)
return bigger
perms('abc')
これは私の教授のコードです。私は、再帰が、このコードのためにどのように機能するかを取得しますが、より小さいが、 'CB'再帰(順列)の理解Python
パーマ( 'ABC')
S [1:]に等しい方法を見つけ出すように見えることはできません= 'BC'
パーマ( 'BC')
S [1] = 'C'
パーマ( 'C')
S [1] = '
ようこそスタックオーバーフロー!最初に[ツアーに参加する](http://stackoverflow.com/tour)を開き、[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例を作成する方法を学びます。そうすれば、私たちがあなたを助けやすくなります。 –