python实现猜数游戏(保存游戏记录)
本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下
内容如下:
①游戏可以重复进行,每当一个用户结束后,程序会提示是否还要继续,输入y继续,输入其他的字符退出;②增加玩家姓名,并对该玩家的成绩进行记录,并存储在new.txt文件中;③增加文件读取功能,即每次程序启动,都首先读取new.txt文件,并给出之前玩家的最高成绩和姓名。(当最高成绩重叠时,取最新记录)
import randomimport osif os.path.exists('D:new.txt')==False: #检测文件是否存在 file = open(’D:’ + ’new’ + ’.txt’,’w’) #若不存在则立即创建 file.close()temp=1 #控制是否继续while temp: work=random.randrange(1,101) print(work) with open('D:new.txt') as f: #读出最高纪录 name='' socre=0 i=1 #奇为成绩,偶为姓名 for line in f: if i%2!=0: if socre <= int(line): #(最高成绩相同时,取最新成绩) socre=int(line) flag=1 else: if temp==1: name=line.rstrip() flag=0 i+=1 achievement=100 #成绩初始为100 time=0 #次数初始为0 print('——————————猜数游戏——————————') print('tt请输入一个1到100的整数') print('tt游戏最高纪录%s'%name) print('tt分数为:%d'%socre) print('ntt注意:') print('tt 满分100分,每打错一次扣2分!') print('tt 输入的不是1到100的整数,会有严厉惩罚!') print() name=str(input('请输入你的姓名:')) while(achievement!=0): try: num=int(input('你猜测的数是:')) time+=1 if (num<1 or num>100): #整数1,100以外的情况 print('超出范围了,你要受到惩罚!') achievement-=4 else: if num==work: print('t恭喜你,答对了!') print('t%s的分数是%d'%(name,achievement)) print('t你猜数的次数是%d'%time) if time==1: print('t你太优秀了!') elif 1<time<11: print('t你还算优秀了!') elif 10<time<21: print('t你还可以吧!') else: print('t一般水平!') string=str(achievement)+'n' #将成绩,姓名写入 with open('D:new.txt','a') as file: file.write(string) string=name+'n' with open('D:new.txt','a') as file: file.write(string) break else: achievement-=2 if num<work: print('数的范围是%d到100'%num) else: print('数的范围是1到%d!'%num) if achievement==0: #成绩为0时 print('t对不起,你错了!') print('t%s的分数是%d'%(name,achievement)) print('t你猜数的次数是%d'%time) break except: #输入非整数时 time+=1 achievement-=4 print('输入的不是整数,你要受到惩罚!') if achievement==0: print('t对不起,你错了!') print('t%s的分数是%d'%(name,achievement)) print('t你猜数的次数是%d'%time) break string=str(input('是否还要继续?(y,继续):')) #判断继续时是否为y if string!='y': temp=0
更多关于python游戏的精彩文章请点击查看以下专题:
python俄罗斯方块游戏集合
python经典小游戏汇总
python微信跳一跳游戏集合
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: