0
def merge_chars(a : str, b : str) -> str:
if a == '':
return b
if b == '':
return a
for x in a:
for y in b:
if x > y:
return y + merge_chars(a[1:],b)
elif x < y:
return x + merge_chars(a,b[1:])
この関数は2つのstrを取り、アルファベット順にstrを返します。例えば:2つのstrを取る再帰関数はソートされたstrを返します
merge_chars('abxy','lmz')
戻り
'ablmxyz'.
再帰を使用する必要があります。
39 # Test merge_chars
43 *Error: merge_chars('ace','bdf') -> aaaace but should -> abcdef
44 *Error: merge_chars('abc','xyz') -> aaaabc but should -> abcxyz
45 *Error: merge_chars('abxy','lmzzz') -> aaaaaabxy but should -> ablmxyzzz
46 *Error: merge_chars('acdeghilmnosu','bfjkpqrtvwxyz') -> aaaaaaaaaaaaaacdeghilmnosu but should -> abcdefghijklmnopqrstuvwxyz
47 *Error: merge_chars('bcgprvyz','adefhijklmnoqstuwx') -> aaaaaaaaadefhijklmnoqstuwx but should -> abcdefghijklmnopqrstuvwxyz
48 *Error: merge_chars('cdefghijklmnpqrstuvw','aboxyz') -> aaaaaaaaaaaaaaaaaaaaaboxyz but should -> abcdefghijklmnopqrstuvwxyz
51 *Error: merge_chars(''.join(sorted(l[:13])), ''.join(sorted(l[13:]))) -> aaaaaaaaaaaaaabcdgjlnpqrtz but should -> abcdefghijklmnopqrstuvwxyz
:それは
aaaace
代わりの
abcdef
私は以下の記載されてしまったエラーを返しますが
、私の関数は
merge_chars('ace','bdf')
を呼び出します
誰かにそれを修正する方法を教えてもらえますか?