勝利/敗北を記録するためのコードは次のとおりです。
def guessingTime(answer):
vdfile = open("victorydefeat.txt", "w")
now = time.asctime(time.localtime(time.time()))
print("That's 20! Time to guess.\n")
guess = input("Is it a(n): ")
if guess.lower() == answer:
print("You got it! Congratulations!")
vdfile.write("Victory achieved on ")
vdfile.write(now)
else:
print("Sorry, but the answer was", answer)
vdfile.write("Defeated on ")
vdfile.write(now)
vdfile.close()
記録するたびに、テキストファイルの最初の行が上書きされるだけです。ユーザーが獲得するすべての勝利/敗北を記録するにはどうすればよいですか?
記録するたびに、テキストファイルの最初の行が上書きされるだけです。
これは、ファイルを開くときにモード「w」を指定したために発生しています。書き込みモードでは、ファイルに何かを書き始めると、最初から始めます。その結果、新しいテキストが古いテキストに置き換わります。追加モード「a」を設定する必要があります
次に例を示します。
f = open('myfile','a+')
f.write("a line\n")
f.write("a new line\n")
f.close()
ファイルを追加モードで開き、最初の行を書き込んで改行文字を追加し、次に2番目の行を書き込んで、最後にファイルを閉じます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加