Skip to main content
 首页 » 编程设计

python之我如何将数据保存在文本文件python中

2025年05月04日46dflying

所以我正在制作一个简单的随机数游戏,即使程序关闭并再次运行,我也想保存玩家的高分。我希望计算机能够询问玩家的姓名,搜索文本文件中的姓名数据库,并得出他们的最高分。然后,如果他们的名字不存在,则在数据库中创建一个名字。我不确定该怎么做。我是菜鸟程序员,这是我的第二个程序。任何帮助将不胜感激。

这是随机数游戏的代码:

import random 
import time 
 
def getscore(): 
    score = 0 
    return score 
    print(score) 
 
 
def main(score): 
    number = random.randrange(1,5+1) 
    print("Your score is %s") %(score) 
    print("Please enter a number between 1 and 5") 
 
    user_number = int(raw_input("")) 
 
    if user_number == number: 
        print("Congrats!") 
        time.sleep(1) 
        print("Your number was %d, the computers number was also %d!") %(user_number,number) 
        score = score + 10 
        main(score) 
 
    elif user_number != number: 
        print("Sorry") 
        time.sleep(1) 
        print("Your number was %d, but the computers was %d.") %(user_number, number) 
        time.sleep(2) 
        print("Your total score was %d") %(score) 
        time.sleep(2) 
        getscore() 
 
score = getscore() 
main(score) 
main(score) 

编辑: 我正在尝试这个并且它似乎正在工作,除了当我尝试用变量替换字符串时,它给出了一个错误:

def writehs(): 
    name = raw_input("Please enter your name") 
    a = open('scores.txt', 'w') 
    a.write(name: 05) 
    a.close() 
 
def readhs(): 
    f = open("test.txt", "r") 
writehs() 
readhs() 

请您参考如下方法:

with open('out.txt', 'w') as output: 
    output.write(getscore()) 

使用 with这是处理文件的首选方式,因为它会自动处理文件关闭,即使是在异常情况下也是如此。

此外,记得修复您的 getscore()方法,因此它并不总是返回 0。如果您希望它返回 print分数也是如此,把print return 之前的声明.