2016-04-28 17 views
0

1つのtxtファイルの文字と別のtxtファイルの文字を読み込み、それらを一緒に戻すプログラムを作成しています。あなたが持っているpos.txtには、1231と新しいfile.txtにcatというcatがあります。私はintの無効なリテラルに関するエラーを取得しています。なぜスクリーンに印刷する前に文字列をintに変換したのかわからないのですか? WordPositionsList = WordPositions.split(" ")を使用することによりValueError:基数10のint()のリテラルが無効です:

for position in WordPositionsList: 
    OriginalSentence = OriginalSentence + " " + SentenceWordsList[int(position) - 1] 
    # need to subtract 1 because WordPositions list starts at zero and original positions were stored starting at one 
+1

ようこそ!あなたは関連するコードだけを投稿し、おそらくトレースバックをお願いしますか? – vmonteco

+0

明らかに、あなたのファイルや変数の少なくとも1つに、あなたが期待するものが含まれていません。あなたのプログラムとあなたの期待がどこで分かれているかを発見するためにいくつかのデバッグを行います。このコードでは 'int'を一度だけ使用していますので、もし私があなたであれば、私はそこから始めたいと思います:' position'にはあなたの考え方が含まれていますか? –

+0

'int'に変換する前に' position'を印刷してみてください。 – ArtOfWarfare

答えて

0

、あなたはpos.txtファイルは、各位置の文字の間にスペースを持っていることを前提としています。

あなたはその後、WordPositionsList単語のlistある場合は必ず、あなたの文字がすなわち

WordPositionsList = [char for char in WordPositions] 
0

スペース、またはまったくスペースを想定していない行の各文字のリストを作成し、持っているかのどちらか作ることによって、あなたの問題を解決することができますforループ内の変数positionは、現在の単語を反復に格納し、intではありません。

関連する問題