相信許多小夥伴都玩過數字炸彈遊戲,就是指在一定數字範圍(一般是整數,不包含邊界)裡,乙個玩家選中乙個數字當作炸彈,其餘玩家在這個範圍猜數字,每次只要沒猜中炸彈數字,則根據玩家猜的數字縮小範圍,直至其中乙個玩家猜中炸彈數字,遊戲結束。
在這裡,我們可以www.cppcns.com嘗試用python程式設計的思想來拆解遊戲過程(純屬無聊),核心主要為以下兩個問題:
(1)數字炸彈的產生
(2)如何縮小範圍
第乙個問題很簡單,可以使用random模組隨機生成,需要注意的是數字炸彈不包含邊界,randint函式可以生成指定範圍的整數,但包含邊界,所以需要做一下處理。本人是採用迴圈的方法,將生成的不符合要求的數字炸彈過濾掉;第二個問題是更為核心的問題,不斷縮小範圍,我們容易想到用while迴圈,最後猜中數字break跳出迴圈,遊戲結束。
import random
def 程式設計客棧user_num():
num = int(input('請輸入你的數字:\n'))
return num
def max_num():
max_num = int(input('請輸入最高數字:\n'))
return max_num
def min_num():
min_num = int(input('請輸入起始數字:\n'))
return min_num
min_num,max_num = min_num(),max_num()
while true:
res = random.randint(min_num,max_num)#www.cppcns.comres可能會包括兩端數www.cppcns.com字,需剔除
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('遊戲繼續,範圍{}到{},請再次輸入'.format(f[0],f[1]))
flag = 0
while true:
num = user_num()
if num not in range(f[0],f[1]):
print('不在範圍內,請重新輸入')
continue
elif num!=res:
comp(num,res)
elif num==res:
print("你猜中啦,遊戲結束!")
break
flag += 1
print("你一共猜了%d次"%flag)
核心**那裡我定義了乙個比較函式,用來更替範圍的vcsoyxxlu兩端,這樣就可實現縮小猜數範圍。**還可以繼續完善,不過本人還是菜鳥,光想這個問題二就想了不少時間。
本文標題: python實現數字炸彈遊戲程式
本文位址:
python數字炸彈小遊戲
數字炸彈小遊戲就是給定乙個數字範圍,然後在範圍內進行數字猜測,不斷更新範圍的界限,直到有人猜中隨機生成的數字結束遊戲。因為需要不斷地進行迴圈,所以採用while語句根據猜的數不斷更新值,並迴圈執行,直至有人猜中正確數字跳出迴圈結束遊戲 import random min num int input ...
Python 實現數字炸彈
今天心血來潮想寫乙個數字炸彈遊戲 遊戲規則就是我隨便寫個數,你們來猜,猜大了就往小的猜,猜小了就往大的猜,邊猜範圍邊變小直到猜中 數字炸彈遊戲規則 主持人隨機輸入乙個a 同學們來猜乙個數b 如果b大於a 則範圍的上限變為b 如果b小於a 則範圍範圍的下限變為b 直到猜中 怎麼總是感覺自己表達不清呢?...
python數字炸彈,程式猜數字
自學python寫的第乙個小遊戲,體驗不好請多多見諒哦 數字炸彈 給定乙個範圍,玩家將有七次機會猜數,每次猜錯都會告知玩家大了還是小了 用pyhon寫的第乙個遊戲 import random counts 5anwer random.randint 1,100 print 猜數遊戲 print 友情...