2017-02-05 10 views
-1

ファイルを開いてリストを返す関数をテストしています。しかし、ファイルを呼び出す代わりに、私はちょうどそのpythonを読んでみてください。この関数をテストすると、次のエラーが表示されます。 "1行のファイルに誤った値が返されました"このコードで何が間違っていますか?私の最初のことは、置き換えの値が間違っているか、私のループが間違っている可能性がありますが、私はどこにいるのかわかりません。関数本体に間違いが見つかりません

PS:このコードは、新しい行が削除されていることに留意して作成されています。 ありがとうございます。任意のヒントが便利です。

これは私のコードです:

def read_words(words_file): 
    words_list = [] 
    words_list = words_file.readlines() 
    for line in words_file: 
     words_list.append(line.replace("\n", "")) 
    return words_list 
+0

機能自体は大丈夫だと思われます(ただし、 3行目)。私はエラーがどこかの他の原因であるに違いないと思う。 – Shiping

答えて

0

を反復処理されている変数(words_list)を追加しています

def read_words(words_file): 
    words_list = [] 
    for line in words_file: 
     words_list = words_list + line.split() 
    return words_list 
0

あなたが同じにあなたの入力は、のようなものを行ごとに複数の単語を持っている場合は、

def read_words(words_file): 
    words_list = [] 
    lines = words_file.readlines() 

    for line in lines: 
     words_list.extend(line.split()) 

    return words_list 
+0

しかしこれはまだ単語ではなく行のリストから除外されています。 –

+0

1行に複数の単語がありますか? –

+0

@ Jean-FrançoisFabreに言及してくれてありがとう、私はコード – TheEpicMelon

関連する問題