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