我正在尝试将高分存储在txt文档中,然后将其读取以在屏幕上显示。但是当玩家获得的分数更高时,我想改变txt文件中的高分。
我知道大致如何做到这一点,但我的代码中的If语句有一点问题:
它一直说错......
这是代码:
score = 10
highscoreFile = open('Highscore.txt', 'r+')
HS = highscoreFile.read() #the HS is, let's say, 3
highscoreFile.close()
print 'Your score is', score
print 'The High-Score is', HS
if score > HS:
print 'newHS'
newHS = True
highscoreFile = open('Highscore.txt', 'w+')
highscoreFile.write('%s' %(score))
highscoreFile.close()
注意:如果我把'<'相反,对于If语句,它返回True ...请解释。
答案 0 :(得分:1)
您正在将int
与string
进行比较。
这条线
if score > HS:
应该是,
if score > int(HS):
答案 1 :(得分:0)
read
会读取整个文件。这将被视为Python中的字符串。引自文档,
如果size参数为负数或省略,读取所有数据,直到达到EOF 。字节作为字符串对象返回。
因此,您必须将字符串显式转换为数字,例如
HS = int(highscoreFile.read())