python實(shí)現(xiàn)數(shù)字炸彈游戲程序
相信許多小伙伴都玩過數(shù)字炸彈游戲,就是指在一定數(shù)字范圍(一般是整數(shù),不包含邊界)里,一個(gè)玩家選中一個(gè)數(shù)字當(dāng)作炸彈,其余玩家在這個(gè)范圍猜數(shù)字,每次只要沒猜中炸彈數(shù)字,則根據(jù)玩家猜的數(shù)字縮小范圍,直至其中一個(gè)玩家猜中炸彈數(shù)字,游戲結(jié)束。
在這里,我們可以嘗試用Python編程的思想來拆解游戲過程(純屬無聊),核心主要為以下兩個(gè)問題:
(1)數(shù)字炸彈的產(chǎn)生
(2)如何縮小范圍
第一個(gè)問題很簡單,可以使用random模塊隨機(jī)生成,需要注意的是數(shù)字炸彈不包含邊界,randint函數(shù)可以生成指定范圍的整數(shù),但包含邊界,所以需要做一下處理。本人是采用循環(huán)的方法,將生成的不符合要求的數(shù)字炸彈過濾掉;第二個(gè)問題是更為核心的問題,不斷縮小范圍,我們?nèi)菀紫氲接脀hile循環(huán),最后猜中數(shù)字break跳出循環(huán),游戲結(jié)束。
import random def user_num(): num = int(input('請(qǐng)輸入你的數(shù)字:\n')) return num def max_num(): max_num = int(input('請(qǐng)輸入最高數(shù)字:\n')) return max_num def min_num(): min_num = int(input('請(qǐng)輸入起始數(shù)字:\n')) return min_num min_num,max_num = min_num(),max_num() while True: res = random.randint(min_num,max_num)#res可能會(huì)包括兩端數(shù)字,需剔除 if res!=min_num and res!=max_num: break f = [min_num,max_num] #核心代碼 def comp(a,b): if a>b: f[1] = a else: f[0] = a print('游戲繼續(xù),范圍{}到{},請(qǐng)?jiān)俅屋斎?.format(f[0],f[1])) flag = 0 while True: num = user_num() if num not in range(f[0],f[1]): print('不在范圍內(nèi),請(qǐng)重新輸入') continue elif num!=res: comp(num,res) elif num==res: print("你猜中啦,游戲結(jié)束!") break flag += 1 print("你一共猜了%d次"%flag)
核心代碼那里我定義了一個(gè)比較函數(shù),用來更替范圍的兩端,這樣就可實(shí)現(xiàn)縮小猜數(shù)范圍。代碼還可以繼續(xù)完善,不過本人還是菜鳥,光想這個(gè)問題二就想了不少時(shí)間。
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解python百行有效代碼實(shí)現(xiàn)漢諾塔小游戲(簡約版)
- python實(shí)現(xiàn)移動(dòng)木板小游戲
- python實(shí)現(xiàn)簡單貪吃蛇游戲
- Python tkinter制作單機(jī)五子棋游戲
- Python中猜拳游戲與猜篩子游戲的實(shí)現(xiàn)方法
- python實(shí)現(xiàn)簡單的五子棋游戲
- python實(shí)現(xiàn)數(shù)字炸彈游戲
- python求解漢諾塔游戲
- Python使用tkinter實(shí)現(xiàn)搖骰子小游戲功能的代碼
- python實(shí)現(xiàn)猜數(shù)游戲(保存游戲記錄)
- python 實(shí)現(xiàn)"神經(jīng)衰弱"翻牌游戲
相關(guān)文章
使用Gitee自動(dòng)化部署python腳本的詳細(xì)過程
小編最近在自學(xué)python,在學(xué)習(xí)過程中有好多意向不到的收獲,真的很開心,今天重點(diǎn)給大家分享使用Gitee自動(dòng)化部署python腳本的詳細(xì)過程,包括安裝環(huán)境搭建及一些注意事項(xiàng),感興趣的朋友跟隨小編一起看看吧2021-05-05Python?pass函數(shù)使用及其應(yīng)用的詳解
Python中,pass是一種空語句,即不做任何事情,只起到占位符的作用,本文主要介紹了Python?pass函數(shù)使用及其應(yīng)用的詳解,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Python中的支持向量機(jī)SVM的使用(附實(shí)例代碼)
這篇文章主要介紹了Python中的支持向量機(jī)SVM的使用(附實(shí)例代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法
這篇文章主要介紹了python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Python中工廠模式的實(shí)現(xiàn)小結(jié)
工廠模式是一種創(chuàng)建型設(shè)計(jì)模式,通過定義一個(gè)工廠類,將對(duì)象的實(shí)例化過程封裝起來,本文主要介紹了Python中工廠模式的實(shí)現(xiàn)小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11淺談Python2之漢字編碼為unicode的問題(即類似\xc3\xa4)
今天小編就為大家分享一篇淺談Python2之漢字編碼為unicode的問題(即類似\xc3\xa4),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python實(shí)現(xiàn)地圖可視化folium完整過程
Folium是一個(gè)基于leaflet.js的Python地圖庫,其中,Leaflet是一個(gè)非常輕的前端地圖可視化庫,本文重點(diǎn)給大家介紹Python實(shí)現(xiàn)地圖可視化folium完整過程,感興趣的朋友跟隨小編一起看看吧2021-05-05