亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

自學(xué)Python編程【第三十七節(jié)】用文件保存游戲(1)

同學(xué)們!歡迎來(lái)到自學(xué)Python編程教室,我們從今天開(kāi)始學(xué)習(xí)用文件保存游戲(1),前面學(xué)習(xí)的知識(shí)記得復(fù)習(xí)哦,今天開(kāi)啟新篇章你準(zhǔn)備好了嗎?想要Python入門(mén)或者學(xué)習(xí)Python的小伙伴,要看一下啦!

現(xiàn)在,我要在最早我們開(kāi)發(fā)的那個(gè)猜數(shù)字游戲的基礎(chǔ)上,增加保存成績(jī)的功能。用到的方法就是前幾課講過(guò)的文件讀寫(xiě)。今天是第一部分。

在動(dòng)手寫(xiě)代碼前,先想清楚我們要解決什么問(wèn)題,打算怎么去解決。你可以選擇根據(jù)每次游戲算出一個(gè)得分,記錄累計(jì)的得分。也可以讓每次猜錯(cuò)都扣xx分,猜對(duì)之后再加xx分,記錄當(dāng)前分?jǐn)?shù)。而我現(xiàn)在打算記錄下我玩了多少次,最快猜出來(lái)的輪數(shù),以及平均每次猜對(duì)用的輪數(shù)。

于是,我要在文件中記錄3個(gè)數(shù)字,如:

3 5 31

它們分別是:總游戲次數(shù),最快猜出的輪數(shù),和猜過(guò)的總輪數(shù)(這里我選擇記錄總輪數(shù),然后每次再算出平均輪數(shù))

接下來(lái)可以往代碼里加功能了,首先是讀取成績(jī)。新建好一個(gè)game.txt,里面寫(xiě)上:

0 0 0

作為程序的初始數(shù)據(jù)。

用之前的方法,讀入文件:

f = open('e:pygame.txt') 
score = f.read().split()

這里,我用了open方法,它和file()的效果一樣。另外,我還用了絕對(duì)路徑。當(dāng)你寫(xiě)這個(gè)程序時(shí),記得用你自己電腦上的路徑。

為便于理解,把數(shù)據(jù)讀進(jìn)來(lái)后,分別存在3個(gè)變量中。

game_times = int(score[0])
min_times = int(score[1])
total_times = int(score[2])

平均輪數(shù)根據(jù)總輪數(shù)和游戲次數(shù)相除得到:

avg_times = float(total_times) / game_times

注意兩點(diǎn):

1.我在total_times前加上了float,把它轉(zhuǎn)成了浮點(diǎn)數(shù)類(lèi)型再進(jìn)行除法運(yùn)算。如果不這樣做,兩個(gè)整數(shù)相除的結(jié)果會(huì)默認(rèn)為整數(shù),而且不是四舍五入。

2.因?yàn)?是不能作為除數(shù)的,所以這里還需要加上判斷:

if game_times > 0: 
avg_times = float(total_times) / game_times
else:
avg_times = 0

然后,在讓玩家開(kāi)始猜數(shù)字前,輸出他之前的成績(jī)信息:

print '你已經(jīng)玩了%d次,最少%d輪猜出答案,平均%.2f輪猜出答案' % (game_times, min_times, avg_times)

%.2f這樣的寫(xiě)法我們以前也用過(guò),作用是保留兩位小數(shù)。

好了,運(yùn)行程序看一下效果:

你已經(jīng)玩了0次,最少0輪猜出答案,平均0輪猜出答案

由于還沒(méi)有做保存功能,我們手動(dòng)去文件里改一下成績(jī)看運(yùn)行效果。(其實(shí)有些小游戲就可以用類(lèi)似的方法作弊)

自學(xué)Python編程,用文件保存游戲

下一課,我們要把真實(shí)的游戲數(shù)據(jù)保存到文件中。

恭喜你在Python自學(xué)的道路上又堅(jiān)持了一天,今天講的用文件保存游戲你學(xué)會(huì)了嗎?之后還有兩節(jié)相關(guān)的內(nèi)容,你準(zhǔn)備好了嗎?

好啦,今天的分享到這里就結(jié)束了,希望大家能夠持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!

聲明:文章來(lái)源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專(zhuān)業(yè)人才培訓(xùn)機(jī)構(gòu)!