python實現猜數遊戲(儲存遊戲記錄)
阿新 • • 發佈:2020-06-23
本文例項為大家分享了python實現猜數遊戲的具體程式碼,供大家參考,具體內容如下
內容如下:
①遊戲可以重複進行,每當一個使用者結束後,程式會提示是否還要繼續,輸入y繼續,輸入其他的字元退出;
②增加玩家姓名,並對該玩家的成績進行記錄,並存儲在new.txt檔案中;
③增加檔案讀取功能,即每次程式啟動,都首先讀取new.txt檔案,並給出之前玩家的最高成績和姓名。(當最高成績重疊時,取最新記錄)
import random import os if 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("\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<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微信跳一跳遊戲集合
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。