python實現(xiàn)猜數(shù)游戲(保存游戲記錄)
本文實例為大家分享了python實現(xiàn)猜數(shù)游戲的具體代碼,供大家參考,具體內(nèi)容如下
內(nèi)容如下:
①游戲可以重復進行,每當一個用戶結束后,程序會提示是否還要繼續(xù),輸入y繼續(xù),輸入其他的字符退出;
②增加玩家姓名,并對該玩家的成績進行記錄,并存儲在new.txt文件中;
③增加文件讀取功能,即每次程序啟動,都首先讀取new.txt文件,并給出之前玩家的最高成績和姓名。(當最高成績重疊時,取最新記錄)
import random import os if os.path.exists("D:\\new.txt")==False: #檢測文件是否存在 file = open('D:\\' + 'new' + '.txt','w') #若不存在則立即創(chuàng)建 file.close() temp=1 #控制是否繼續(xù) 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 #次數(shù)初始為0 print("——————————猜數(shù)游戲——————————") print("\t\t請輸入一個1到100的整數(shù)") print("\t\t游戲最高紀錄%s"%name) print("\t\t分數(shù)為:%d"%socre) print("\n\t\t注意:") print("\t\t 滿分100分,每打錯一次扣2分!") print("\t\t 輸入的不是1到100的整數(shù),會有嚴厲懲罰!") print() name=str(input("請輸入你的姓名:")) while(achievement!=0): try: num=int(input("你猜測的數(shù)是:")) time+=1 if (num<1 or num>100): #整數(shù)1,100以外的情況 print("超出范圍了,你要受到懲罰!") achievement-=4 else: if num==work: print("\t恭喜你,答對了!") print("\t%s的分數(shù)是%d"%(name,achievement)) print("\t你猜數(shù)的次數(shù)是%d"%time) if time==1: print("\t你太優(yōu)秀了!") elif 1<time<11: print("\t你還算優(yōu)秀了!") 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("數(shù)的范圍是%d到100"%num) else: print("數(shù)的范圍是1到%d!"%num) if achievement==0: #成績?yōu)?時 print("\t對不起,你錯了!") print("\t%s的分數(shù)是%d"%(name,achievement)) print("\t你猜數(shù)的次數(shù)是%d"%time) break except: #輸入非整數(shù)時 time+=1 achievement-=4 print("輸入的不是整數(shù),你要受到懲罰!") if achievement==0: print("\t對不起,你錯了!") print("\t%s的分數(shù)是%d"%(name,achievement)) print("\t你猜數(shù)的次數(shù)是%d"%time) break string=str(input("是否還要繼續(xù)?(y,繼續(xù)):")) #判斷繼續(xù)時是否為y if string!="y": temp=0
更多關于python游戲的精彩文章請點擊查看以下專題:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python中使用pprint函數(shù)進行格式化輸出的教程
這篇文章主要介紹了Python中使用pprint函數(shù)進行格式化輸出的教程,包括能夠控制輸出寬度等非常有用的特性,需要的朋友可以參考下2015-04-04python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解
這篇文章主要給大家介紹了關于python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-12-12Python函數(shù)之zip函數(shù)的介紹與實際應用
zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象(python2 返回的是這些元組組成的列表 ),下面這篇文章主要給大家介紹了關于Python函數(shù)之zip函數(shù)實際應用的相關資料,需要的朋友可以參考下2022-03-03通過Python腳本+Jenkins實現(xiàn)項目重啟
Jenkins是一個流行的開源自動化服務器,用于快速構建、測試和部署軟件,本文主要介紹了通過Python腳本+Jenkins實現(xiàn)項目重啟,具有一定的參考價值,感興趣的可以了解一下2023-10-10Python項目 基于Scapy實現(xiàn)SYN泛洪攻擊的方法
今天小編就為大家分享一篇Python項目 基于Scapy實現(xiàn)SYN泛洪攻擊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Django的HttpRequest和HttpResponse對象詳解
這篇文章主要介紹了Django的HttpRequest和HttpResponse對象,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01