尼姆游戏设计python
时间: 2023-10-13 18:29:07 浏览: 190
尼姆游戏是一个经典的数学游戏,它的规则如下:
1. 有一堆物品,数量任意,可以是石子、棋子、火柴等任何物品。
2. 两人轮流取物,每次至少取一个,至多取该堆剩余物品数。
3. 取到最后一个物品的人获胜。
下面是一种基于 Python 的实现方法:
```python
def nim_game(n):
"""
n: 初始物品数量
"""
while n > 0:
# 玩家1取物
p1 = int(input("Player 1, please enter the number of items to take (1-{}): ".format(n)))
while p1 < 1 or p1 > n:
p1 = int(input("Invalid input, please enter the number of items to take (1-{}): ".format(n)))
n -= p1
if n == 0:
print("Player 1 wins!")
break
# 玩家2取物
p2 = int(input("Player 2, please enter the number of items to take (1-{}): ".format(n)))
while p2 < 1 or p2 > n:
p2 = int(input("Invalid input, please enter the number of items to take (1-{}): ".format(n)))
n -= p2
if n == 0:
print("Player 2 wins!")
break
```
使用该函数进行游戏,只需要调用 `nim_game(n)` 函数,其中 n 为物品的初始数量。例如,当 n=10 时,可以调用 `nim_game(10)` 开始一局游戏。
阅读全文