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---编写一个函数,提示输入