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微信跳一跳游戲集合
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: