2017-04-01 7 views
-1

私はPythonでアナグラムを作っています 私は 'list'functionを呼び出すと動作しません。助けてください。 私は 'str'を 'list' に変更しようとしていますが、動作しません。最初の行はlistという名前のローカル変数を作成することにより、標準機能listを「非表示」になるためのコードリストのPython TypeError

list=[] 
l=len(s1) 
q=list(s1) 
w=list(s2) 

が問題である理由

def generate_anagram(s): 
    a=s[0:len(s)-1] 
    b=s[len(s)-1] 
    if len(a)==1: 
     return make(a,b) 
    else: 
     return make(generate_anagram(a),b) 

def make(s1,s2): 
    list=[] 
    l=len(s1) 
    q=list(s1) 
    w=list(s2) 
    ss="" 
    for i in range(l): 
     if(len(q)>l): 
      q.remove(w) 
     q.insert(i,w) 
     list+=q 

    for i in range(len(list)): 
     ss+=list[i] 
    return ss 


if __name__ == "__main__": 

    print(generate_anagram("anagram")) 
+0

組み込み関数 'list()'を変数名 'list'で上書きしたので、 – TerryA

答えて

0

私は本当に知りません。つまり、最後の2行はPythonのlist関数を呼び出していません。

+0

本当にありがとうございます。 – babababam

+0

もう1つ質問できますか?私は 'list [i]'を 'str'にしたいが、ss + = list [i]は働かない。リスト型をstr型にするには? – babababam

+0

@babababam:Python '" ".join(L)'ここで 'L'は文字のリストで、それらのすべてを連結して結果の文字列を返します。 – 6502