python实现猜数游戏(保存游戏记录)
本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下
内容如下:
①游戏可以重复进行,每当一个用户结束后,程序会提示是否还要继续,输入y继续,输入其他的字符退出;
②增加玩家姓名,并对该玩家的成绩进行记录,并存储在new.txt文件中;
③增加文件读取功能,即每次程序启动,都首先读取new.txt文件,并给出之前玩家的最高成绩和姓名。(当最高成绩重叠时,取最新记录)
importrandom
importos
ifos.path.exists("D:\\new.txt")==False:#检测文件是否存在
file=open('D:\\'+'new'+'.txt','w')#若不存在则立即创建
file.close()
temp=1#控制是否继续
whiletemp:
work=random.randrange(1,101)
print(work)
withopen("D:\\new.txt")asf:#读出最高纪录
name=""
socre=0
i=1#奇为成绩,偶为姓名
forlineinf:
ifi%2!=0:
ifsocre<=int(line):#(最高成绩相同时,取最新成绩)
socre=int(line)
flag=1
else:
iftemp==1:
name=line.rstrip()
flag=0
i+=1
achievement=100#成绩初始为100
time=0#次数初始为0
print("——————————猜数游戏——————————")
print("\t\t请输入一个1到100的整数")
print("\t\t游戏最高纪录%s"%name)
print("\t\t分数为:%d"%socre)
print("\n\t\t注意:")
print("\t\t满分100分,每打错一次扣2分!")
print("\t\t输入的不是1到100的整数,会有严厉惩罚!")
print()
name=str(input("请输入你的姓名:"))
while(achievement!=0):
try:
num=int(input("你猜测的数是:"))
time+=1
if(num<1ornum>100):#整数1,100以外的情况
print("超出范围了,你要受到惩罚!")
achievement-=4
else:
ifnum==work:
print("\t恭喜你,答对了!")
print("\t%s的分数是%d"%(name,achievement))
print("\t你猜数的次数是%d"%time)
iftime==1:
print("\t你太优秀了!")
elif1