數字炸彈和百錢百雞

今天和大家分享兩個小遊戲:
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

結果:

請輸入0100之間的數字:20
大了,遊戲繼續:
電腦輸入了14
大了,遊戲繼續:
請輸入013之間的數字:11
大了,遊戲繼續:
電腦輸入了5
小了,遊戲繼續:
請輸入610之間的數字: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

今天就到這裏,喜歡的朋友可以可以關注一哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章