久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Python編程如何用文件保存游戲(3)

今天馬哥教育要跟大家分享的文章是Python編程如何用文件保存游戲(3)?上面兩講我們學(xué)習(xí)了用文件保存游戲的前兩節(jié),分別是游戲成績的讀取和記錄,按理說有來有往,應(yīng)該結(jié)束了,那么我們這一講學(xué)習(xí)什么呢? Python入門新手和正在Python學(xué)習(xí)的小伙伴快來看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?!

你的小游戲現(xiàn)在已經(jīng)可以保存成績了,但只有一組成績,不管誰來玩,都會(huì)算在里面。所以今天我還要加上一個(gè)更多的功能:存儲(chǔ)多組成績。玩家需要做的就是,在游戲開始前,輸入自己的名字。而我會(huì)根據(jù)這個(gè)名字記錄他的成績。這個(gè)功能所用到的內(nèi)容我們幾乎都說過,現(xiàn)在要把它們結(jié)合起來。

首先要輸入名字,這是我們用來區(qū)分玩家成績的依據(jù):

name = raw_input('請輸入你的名字:')

接下來,我們讀取文件。與之前不同,我們用readlines把每組成績分開來:

lines = f.readlines()

再用一個(gè)字典來記錄所有的成績:

scores = {}

for l in lines:

s = l.split()

scores[s[0]] = s[1:]

這個(gè)字典中,每一項(xiàng)的key是玩家的名字,value是一個(gè)由剩下的數(shù)據(jù)組成的數(shù)組。這里每一個(gè)value就相當(dāng)于我們之前的成績數(shù)據(jù)。

我們要找到當(dāng)前玩家的數(shù)據(jù):

score = scores.get(name)

字典類的get方法是按照給定key尋找對應(yīng)項(xiàng),如果不存在這樣的key,就返回空值None。

所以如果沒有找到該玩家的數(shù)據(jù),說明他是一個(gè)新玩家,我們給他初始化一組成績:

if score is None:

score = [0, 0, 0]

這是我們拿到的score,已經(jīng)和上一課中的score一樣了,因此剩下的很多代碼都不用改動(dòng)。

當(dāng)游戲結(jié)束,記錄成績的時(shí)候,和之前的方法不一樣。我們不能直接把這次成績存到文件里,那樣就會(huì)覆蓋掉別人的成績。必須先把成績更新到scores字典中,再統(tǒng)一寫回文件中。

把成績更新到scores中,如果沒有這一項(xiàng),會(huì)自動(dòng)生成新條目:

scores[name] = [str(game_times), str(min_times), str(total_times)]

對于每一項(xiàng)成績,我們要將其格式化:

result = ''

for n in scores:

line = n + ' ' + ' '.join(scores[n]) + '\n'

result += line

把scores中的每一項(xiàng)按照“名字 游戲次數(shù) 最低輪數(shù) 總輪數(shù)\n”的格式拼成字符串,再全部放到result里,就得到了我們要保存的結(jié)果。

最后就和之前一樣,把result保存到文件中。

如果你充分理解了這個(gè)程序,恭喜你,你對文件處理已經(jīng)有了一個(gè)基本的了解。在日常工作學(xué)習(xí)中,如果需要處理一些大量重復(fù)機(jī)械的文件操作,比如整理格式、更改文件中的部分文字、統(tǒng)計(jì)數(shù)據(jù)等等,都可以試著用Python來解決。

恭喜您在Python的道路上又堅(jiān)持了一天,最近幾節(jié)的難度也在提升,唯一的解決辦法就是大家反復(fù)練習(xí),反復(fù)敲代碼,自己不能解決有疑問的問題,就去找人幫助自己理解,堅(jiān)持一下,我們一定能學(xué)會(huì)!

以上就是馬哥教育今天為大家分享的關(guān)于Python編程如何用文件保存游戲(3)的文章,希望本篇文章能夠?qū)φ?Python學(xué)習(xí)?和從事Python相關(guān)工作的小伙伴們有所幫助,想要了解更多相關(guān)知識記得關(guān)注馬哥教育官網(wǎng)。最后祝愿小伙伴們工作順利!

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

相關(guān)新聞

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

    1. 主站蜘蛛池模板: 抚远县| 罗平县| 卓尼县| 齐河县| 四平市| 溆浦县| 和平县| 樟树市| 永城市| 五大连池市| 龙里县| 周宁县| 兴海县| 徐州市| 新津县| 阿克| 扶余县| 云浮市| 阿克苏市| 南汇区| 巨野县| 富民县| 永平县| 安多县| 龙门县| 栾川县| 赣榆县| 临漳县| 临潭县| 台东市| 牟定县| 曲阜市| 怀宁县| 迁西县| 兴宁市| 舟曲县| 根河市| 二连浩特市| 富宁县| 安塞县| 景洪市|