Python---堆里有16颗豆子,有两个玩家依次取豆
生活随笔
收集整理的這篇文章主要介紹了
Python---堆里有16颗豆子,有两个玩家依次取豆
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
堆里有 16 顆豆子,有兩個玩家(假設一個玩家是電腦) 。每個玩家都可以從堆中的 16 顆豆子中取出 1 顆,2 顆或者 3 顆豆子。每個玩家在每回合中必須從堆中取出一定數目的豆子。玩家輪流取出豆子,取到最后 一顆豆子的玩家是輸家。 思路: 寫一個人取豆子的函數 ; 幫電腦設計一個算法,實現取豆子的函數 ; 在主程序中進行輸流調用,誰最后拿到 1 粒豆子誰就輸。
源代碼:
import random #人類取豆子 def people(n):print('-' * 30)while 1:pick_people = int(input("人類玩家取出豆子數: "))if (1 <= pick_people <= 3):breakelse:print("每次取出的豆子數應該屬于(1,2,3),請重新輸入!")continueprint("豆子剩余數量:", n - pick_people)return (n - pick_people) #電腦取豆子 def computer(n):print('-' * 30)pick_computer = random.randint(1,3)print("電腦玩家取出豆子數:", pick_computer)print("豆子剩余數量:", n - pick_computer)return (n - pick_computer) def main():total = 16print("豆子的總數為:",total)while 1:total = people(total)if total <= 0:print("電腦贏!!!")breaktotal = computer(total)if total <= 0:print("人類贏!!!")break main()總結
以上是生活随笔為你收集整理的Python---堆里有16颗豆子,有两个玩家依次取豆的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python---编写一函数,将摄氏温度
- 下一篇: Python---编写一个函数,提示输入