今天和大家分享兩個小遊戲:
1.數字炸彈
數字炸彈遊戲規則:在一個數字範圍內,有一個數字作爲炸彈,誰猜中這個炸彈就被懲罰.…
直到有人猜中這個炸彈,然後就受到懲罰,也就是打印爆炸。
``要求:你輸入一個,如果不是爆炸數字,讓電腦也要輸入一個在縮小範圍之後的任意數 ,如果電腦輸入不對,縮小範圍然後你再次輸入,直到輸入正確爲止,
import random
boomnum= random.randint(1,100)
start = 0
end = 100
while True:
a = int(input('請輸入{}到{}之間的數字:'.format(start, end)))
if a>boomnum:
print("大了,遊戲繼續:")
end = a - 1
elif a<boomnum:
print("小了,遊戲繼續:")
start = a + 1
elif a==boomnum:
print("咚!炸彈爆炸!")
break
cpu = random.randint(start,end)
print("電腦輸入了{}".format(cpu))
if cpu>boomnum:
print("大了,遊戲繼續:")
end = cpu - 1
elif cpu<boomnum:
print("小了,遊戲繼續:")
start = cpu + 1
elif cpu==boomnum:
print("咚!炸彈爆炸!")
break
結果:
請輸入0到100之間的數字:20
大了,遊戲繼續:
電腦輸入了14
大了,遊戲繼續:
請輸入0到13之間的數字:11
大了,遊戲繼續:
電腦輸入了5
小了,遊戲繼續:
請輸入6到10之間的數字:8
咚!炸彈爆炸!
2.百錢百雞問題:
百錢買百雞的問題算是一套非常經典的不定方程的問題,題目很簡單:公雞5文錢一隻,母雞3文錢一隻,小雞3只一文錢,
用100文錢買一百隻雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少隻剛好湊足100文錢。
分析:估計現在小學生都能手工推算這套題,只不過我們用計算機來推算,我們可以設公雞爲x,母雞爲y,小雞爲z,那麼我們
可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x,y,z的取值範圍。
由於只有100文錢,則5x<100 => 0<x<20, 同理 0<y<33,那麼z<300
由於此處我們不是數學上研究不等式解法,而是讓計算機爲我們計算結果,所有暫不考慮效率問題。於是,從變量上我們便可以看出可以在三個循環中,逐個選出匹配條件。
for x in range(1,20):
for y in range(1,33):
z=100-x-y
if 5*x + 3*y +z/3 == 100 and z % 3==0:
print("公雞 %d 只 母雞 %d 只 小雞 %d 只"%(x,y,z))
結果:
公雞 4 只 母雞 18 只 小雞 78 只
公雞 8 只 母雞 11 只 小雞 81 只
公雞 12 只 母雞 4 只 小雞 84 只
今天就到這裏,喜歡的朋友可以可以關注一哈!