簡體   English   中英

如何從文本文件中讀取變量作為整數,修改所述變量然后將其存儲在 Python 中的同一個文本文件中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM