python實(shí)現(xiàn)猜數(shù)游戲
本文實(shí)例為大家分享了python實(shí)現(xiàn)猜數(shù)游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、問題描述:
使用python開發(fā)一個(gè)猜數(shù)小游戲,程序隨機(jī)產(chǎn)生0~1024之間的數(shù)字,用戶輸入猜測(cè)數(shù)字,程序告訴用戶猜大了還是小了。在一定次數(shù)內(nèi)猜對(duì)用戶獲勝,否則用戶失敗。每一輪游戲要求用戶輸入用戶名程序會(huì)一直運(yùn)行,直到用戶輸入“3”,停止游戲。在每一輪游戲前輸入“1”可以查看用戶輸入歷史。
二、涉及知識(shí)點(diǎn):
1、隨機(jī)生成數(shù)字,設(shè)計(jì)python 的隨機(jī)數(shù)模塊。2、用戶輸入數(shù)字,程序輸出結(jié)果。涉及python輸入輸出模塊。3、程序自動(dòng)進(jìn)行下一輪,涉及 python 循環(huán)模塊。4、判斷用戶輸入,涉及p ython 條件判斷模塊。5、查詢用戶輸入歷史,涉及python 的字典和列表模塊。
三、代碼構(gòu)建
#調(diào)用隨機(jī)數(shù)生成模塊import random #開始游戲控制模塊def start(): name = input(’請(qǐng)輸入你的名字:’) if name == ’退出’: return if name not in history: history[name] = [] answer = random.randint(0, 1024) try_to_guess(name, answer) def try_to_guess(name ,answer): #猜數(shù)游戲主體模塊 try_nume = 0 while try_nume < 100 : guess_answer =int(input(’請(qǐng)輸入一個(gè)你猜測(cè)的數(shù)字:’)) if guess_answer < answer : print(’你輸入的數(shù)字小于正確答案’) elif guess_answer > answer: print(’你輸入的數(shù)字大于正確答案’) else : print(’恭喜你回答正確!’) history[name].append(’成功!’) break try_nume += 1 else : print(’猜測(cè)錯(cuò)誤次數(shù)過多,游戲失??!’) history[name].append(’失敗!’)# 歷史記錄模塊history = {}# 創(chuàng)建集合,存放歷史記錄def show_history(): for name, data in history.items(): print(’用戶:{}, 記錄如下:{}’.format(name, data))# 防止輸入沒有的選項(xiàng)def default(): print(’輸入錯(cuò)誤!請(qǐng)重新輸入’ ) print(’=’ * 40)if __name__ == ’__main__’: select_dict = {’1’: start,’2’: show_history, ’3’: exit}while True: select = input(’1.開始游戲n2.歷史記錄n3.退出游戲n請(qǐng)輸入數(shù)字選擇:’) select_dict.get(select, default)()
四、調(diào)試與運(yùn)行
無論成功與否,按1 開始游戲,按2查看記錄,按3 退出游戲,輸入其他字符報(bào)錯(cuò)。
更多關(guān)于python游戲的精彩文章請(qǐng)點(diǎn)擊查看以下專題:
python俄羅斯方塊游戲集合
python經(jīng)典小游戲匯總
python微信跳一跳游戲集合
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. el-input無法輸入的問題和表單驗(yàn)證失敗問題解決2. vue跳轉(zhuǎn)頁面常用的幾種方法匯總3. XML入門的常見問題(三)4. JavaScript中顏色模型的基礎(chǔ)知識(shí)與應(yīng)用詳解5. 不要在HTML中濫用div6. JavaScript快速實(shí)現(xiàn)一個(gè)顏色選擇器7. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)8. 父div高度不能自適應(yīng)子div高度的解決方案9. Jquery使用原生AJAX方法請(qǐng)求數(shù)據(jù)10. React實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)hook組件實(shí)戰(zhàn)示例
