用Python設(shè)計(jì)一個(gè)經(jīng)典小游戲
本文主要介紹如何用Python設(shè)計(jì)一個(gè)經(jīng)典小游戲:猜大小。
在這個(gè)游戲中,將用到前面我介紹過的所有內(nèi)容:變量的使用、參數(shù)傳遞、函數(shù)設(shè)計(jì)、條件控制和循環(huán)等,做個(gè)整體的總結(jié)和復(fù)習(xí)。
游戲規(guī)則:
初始本金是1000元,默認(rèn)賠率是1倍,贏了,獲得一倍金額,輸了,扣除1倍金額。
- 玩家選擇大或??;;
- 搖3個(gè)骰子,11≤骰子總數(shù)≤18為大,3≤骰子總數(shù)≤10為??;
現(xiàn)在,我們來梳理下思路。
- 我們先讓程序知道如何搖骰子;
- 讓程序知道什么是大,什么是??;
梳理清楚思路后,接下來開始敲代碼。
搖骰子:
定義roll_dice函數(shù),3個(gè)骰子,循環(huán)次數(shù)numbers為3,骰子點(diǎn)數(shù)points初始值為空,這里的參數(shù)傳遞用到的是之前講到的關(guān)鍵詞參數(shù)傳遞。
隨機(jī)數(shù)生成用import random來實(shí)現(xiàn)。Python中最方便的就是有很多強(qiáng)大的庫支持,現(xiàn)在我們可以直接導(dǎo)入一個(gè)random的內(nèi)置庫,用它來生成隨機(jī)數(shù)。如:
1 import random 2 point = random.randrange(1,7) 3 # random.randrange(1,7)生成1-6的隨機(jī)數(shù) 4 print(point)
print(point)后可以看到打印出的隨機(jī)數(shù),每次運(yùn)行結(jié)果都是隨機(jī)的。
接下來我們看下?lián)u骰子這部分的完整代碼:
import random def roll_dice(numbers = 3,points = None): print('----- 搖骰子 -----') if points is None: points = [] # points為空列表,后續(xù)可以加入新值到該列表 while numbers > 0: point = random.randrange(1,7) points.append(point) # 用append()方法將point數(shù)值加入points列表中 numbers = numbers - 1 # 完成一次,numbers減1,當(dāng)小于等于0時(shí)不再執(zhí)行該循環(huán) return points
定大小:
11≤骰子總數(shù)≤18為大,3≤骰子總數(shù)≤10為小,代碼如下:
def roll_result(total): isBig = 11 <= total <=18 isSmall = 3 <= total <= 10 if isBig: return '大' elif isSmall: return '小'
玩游戲:
到這里,我們就完成了該游戲三大部分的設(shè)計(jì),大家一定要仔細(xì)思考,梳理設(shè)計(jì)思路,動(dòng)手敲出代碼才好。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)自動(dòng)合并Word并添加分頁符
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)對(duì)多個(gè)Word文檔加以自動(dòng)合并,并在每次合并時(shí)按要求增添一個(gè)分頁符的功能,感興趣的可以了解一下2023-02-02pygame.display.flip()和pygame.display.update()的區(qū)別及說明
這篇文章主要介紹了pygame.display.flip()和pygame.display.update()的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Python中的HTTP請(qǐng)求超時(shí)處理方式
HTTP請(qǐng)求超時(shí)是指客戶端在設(shè)定的時(shí)間內(nèi)未收到服務(wù)器完整響應(yīng),合理設(shè)置超時(shí)時(shí)間可提高系統(tǒng)性能和用戶體驗(yàn),Python中,requests庫和aiohttp庫提供超時(shí)控制功能,通過timeout參數(shù)設(shè)置請(qǐng)求超時(shí),并利用try-except捕獲異常,合理超時(shí)設(shè)置和處理是開發(fā)HTTP客戶端的重要技巧2024-11-11用python對(duì)oracle進(jìn)行簡(jiǎn)單性能測(cè)試
這篇文章主要介紹了用python對(duì)oracle進(jìn)行簡(jiǎn)單性能測(cè)試的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Python實(shí)現(xiàn)語音啟動(dòng)電腦應(yīng)用程序
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)語音啟動(dòng)電腦應(yīng)用程序功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一學(xué)習(xí)一下2025-03-03selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)
這篇文章主要介紹了selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例
這篇文章主要介紹了Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Django+simpleui實(shí)現(xiàn)文件上傳預(yù)覽功能(詳細(xì)過程)
該文章詳細(xì)介紹了如何在Django框架中實(shí)現(xiàn)文件上傳、預(yù)覽和下載功能,并使用SimpleUI美化Django后臺(tái)界面,通過創(chuàng)建模型、表單、視圖和配置URL,實(shí)現(xiàn)了文件的存儲(chǔ)和管理,同時(shí),文章還提到了配置媒體文件、創(chuàng)建模板以及在生產(chǎn)環(huán)境中的部署注意事項(xiàng),感興趣的朋友一起看看吧2025-02-02python 應(yīng)用之Pycharm 新建模板默認(rèn)添加編碼格式-作者-時(shí)間等信息【推薦】
這篇文章主要介紹了Pycharm 新建模板默認(rèn)添加編碼格式-作者-時(shí)間等信息 ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06