[英]How to read a variable from a text file as an integer, modify said variable then store it in the same text file in Python?
這里的初學者程序員,所以對此感到厭倦。 我目前正在使用 Python 開發基於文本的回合制戰斗“模擬器”。 我想在我的代碼中添加一種方法來存儲和讀取玩家的輸贏次數,以便他們可以在菜單中看到這些統計數據。 回合制部分按預期運行,但勝/負統計(我將在其余解釋中將其稱為“分數”)沒有。 我有一個名為“wl.txt”的文本文件,其中存儲了分數。 這是兩條簡單的線,對應的輸贏數量,贏在第一行,輸在第二行。 因為我想隨着玩家的進步而更新分數,所以這兩個變量需要是整數才能相應地更新。 為了從“wl.txt”中檢索它們,我使用 readline() 方法獲取勝利,使用 readlines() 方法獲取損失。 但是,您可能知道, readline() 返回一個 str 而 readlines() 返回一個列表,所以我無法更新 loss 變量的值。 這是一個 python 文件,它重新組合了我為此使用的代碼:
def SeeScore():
score = open("wl.txt", "r")
print("Wins:",score.readline(), "\nLosses:", score.readlines())
score = open("wl.txt", "r")
wins = score.readline()
losses = score.readlines()
score.close()
wins += 2
losses += 5
score = open("wl.txt", "w")
score.write(str(wins)+"\n")
score.write(str(losses)+"\n")
SeeScore()
我試圖做這樣的事情:
wins = int(score.readline())
losses = int(score.readlines())
但是您可能也知道您不能將列表轉換為整數。
我不知道該怎么辦。
提前致謝。
對於您使用 score.readlines 的損失,它會打印 ['1'] 而不僅僅是 1。另一個問題是您需要輸入 int()。
使用您的代碼進行測試后,只需替換
"\nLosses:", score.readlines())
# And
wins = score.readline()
losses = score.readlines()
和
"\nLosses:", score.readline())
# And
wins = int(score.readline())
losses = int(score.readline())
最終代碼:
def SeeScore(wins, losses):
print("Wins:",wins, "\nLosses:", losses)
score = open("wl.txt", "r")
wins = int(score.readline())
losses = int(score.readline())
score.close()
wins += 2
losses += 5
score = open("wl.txt", "w")
score.write(str(wins)+"\n")
score.write(str(losses)+"\n")
SeeScore(wins, losses)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.