我正在开发一个简单的Python游戏,计算机试图猜测你想到的数字。每当它猜对了,它就会保存txt文件的答案。当程序再次运行时,它将首先猜测旧答案(如果它们在用户指定的范围内)。
try:
f = open("OldGuesses.txt", "a")
r = open("OldGuesses.txt", "r")
except IOError as e:
f = open("OldGuesses.txt", "w")
r = open("OldGuesses.txt", "r")
data = r.read()
number5 = random.choice(data)
print number5
当我运行它以获取旧答案时,它会抓取一个项目。就像说我有数字200,1242和1343,以及区分它们的空格,它将选择一个空格或一个数字。知道如何获取全数(如200)和/或避免选择空格?
答案 0 :(得分:1)
r.read()
调用会读取r
的整个内容并将其作为单个字符串返回。您可以做的是将列表理解与r.readlines()
结合使用,如下所示:
data = [int(x) for x in r.readlines()]
将文件分解为行并将每行转换为整数。