0

私はこのサイトと python の両方に慣れていないので、気楽にやってください。Python 3.3 の使用

私は絞首刑執行人風のゲームを作っていますが、すべてが機能しています。文字列が .txt ファイルに含まれているかどうかを確認し、含まれていない場合は、.txt ファイルの末尾の新しい行に書き込みます。現在、新しい行でテキスト ファイルに書き込むことができますが、文字列が既に存在する場合でもテキスト ファイルに書き込むことができます。私のコードは次のとおりです。

私のテキストファイルには、それぞれの文字列が別々の行にあることに注意してください

write = 1
if over == 1:
    print("I Win")
    wordlibrary = file('allwords.txt')
    for line in wordlibrary:
        if trial in line:
            write = 0
    if write == 1:
        with open("allwords.txt", "a") as text_file:
            text_file.write("\n")
            text_file.write(trial)
4

2 に答える 2

0

ファイルに存在する行数を事前に知る必要はありません。ファイルイテレータを使用するだけです。ここでドキュメントを見つけることができます: http://docs.python.org/2/library/stdtypes.html#bltin-file-objects

readlines メソッドに特に注意してください。

于 2013-01-14T15:57:28.970 に答える
0

Is this really the indentation from your program?

As written above, in the first iteration of the loop on wordlibrary, the trial is compared to the line, and since (from your symptoms) it is not contained in the first line, the program moves on to the next part of the loop: since write==1, it will append trial to the text_file.

cheers, Amnon

于 2013-01-14T09:18:00.370 に答える