- 讀故事學編程:Python王國歷險記
- 一石匠人
- 412字
- 2020-04-03 12:40:44
7.2 比大小
隨后,派森和鸚鵡來到了“比大小”游戲前。這個游戲也比較簡單,系統會為派森和游戲場一方各賦值一個隨機數,如果派森的數字更大,就會獲得投入金錢的雙倍獎金。這個游戲的完整代碼如下:
import random money = int(input(‘歡迎參加比大小游戲!勝利將獲得雙倍獎金!您投多少錢?')) num1 = random.randint(1, 10) # 代表派森 num2 = random.randint(1, 10) # 代表游戲場一方 print(‘派森的點數為:', num1, ’對方的點數為:', num2) if num1 > num2: print(‘恭喜獲勝!獎金為’, money * 2) else: print(‘對方獲勝!')
我們來分析一下代碼。這里同樣用到了隨機函數,用randint語句為兩個變量num1、num2分別隨機賦1和10之間的整數值。變量money用來存儲派森投入的金錢數目,而因為用input語句獲得的數字為字符串類型,所以還需要用int()函數將其轉化為數字類型。然后通過if...else語句進行條件判斷,如果派森的數字更大,則可以獲得雙倍獎金。
運行代碼,結果如下:
歡迎參加比大小游戲!勝利將獲得雙倍獎金!您投多少錢?1000元 派森的點數為: 3 對方的點數為: 4 對方獲勝!
7.3 幸運轉盤
派森和鸚鵡來到了“幸運轉盤”面前。轉盤上有很多數字,轉動起來直至停止,這時指針指向的數字如果和參與者猜的數字一致,參與者就能獲得百倍獎金。這個游戲的完整代碼如下:
import random maxNum = 36 # 轉盤上的最大數字,值越小,概率越大 yourNum = int(input(‘轉盤上有’ + str(maxNum) + ’個數字,猜對數字得百倍獎金,您選擇哪個?')) money = int(input(‘您想投多少錢?')) num = random.randint(1, maxNum) # 代表指針指向轉盤上的某個數字 if yourNum == num: print(‘恭喜您獲得大獎!獎金為’, money * 100) else: print(‘指針指向數字’, num, '。', ’您沒有中獎,祝您下次好運!')
我們來分析一下代碼,這里同樣用到了隨機函數。變量maxNum用來表示轉盤上共有多少個數字。通過兩個input語句分別獲得選擇的數字和投入的金錢數目。變量num用來存儲指針指向的數字,該數字也是通過隨機函數生成的。最后通過if...else語句判斷派森是否猜對了數字,如果他猜對了就會獲得百倍獎金,用“money*100”表示。
運行代碼,結果如下:
轉盤上有36個數字,猜對數字得百倍獎金,您選擇哪個?15 您想投多少錢?25元 指針指向數字 4 。 您沒有中獎,祝您下次好運!
7.4 幸運數字
最后,派森和鸚鵡嘗試了“幸運數字”。“幸運數字”的玩法比較簡單:依次顯示3個數字,如果這3個數字相同,則能夠獲得3倍獎金。“幸運數字”這個游戲的完整代碼如下:
import random money = int(input(‘3個數字相同可獲得3倍獎金,您想投多少錢?')) maxNum = 9 # 游戲顯示的最大數字,值越小,3個數字相同的概率就越大 num1 = random.randint(1, maxNum) num2 = random.randint(1, maxNum) num3 = random.randint(1, maxNum) print(‘最后結果為:', num1, num2, num3) if num1 == num2 and num2 == num3: print(‘恭喜您獲得大獎!獎金為’, money * 3) else: print(‘沒有中獎,祝您下次好運!')
我們來分析一下代碼,有了上面的幾個游戲基礎,這里的代碼就顯得很簡單了。用隨機函數隨機生成1和maxNum之間的隨機整數,分別存儲在num1、num2、num3這3個變量中。通過if...else語句進行條件判斷,如果3個數字相同,則可以獲得大獎,獎金為投入金錢數目的3倍。
運行代碼,結果如下:
3個數字相同可獲得3倍獎金,您想投多少錢?120元 最后結果為: 6 8 1 沒有中獎,祝您下次好運!
推薦閱讀