设计和实现尼姆游戏(人机对战)

实验目的
  • 理解尼姆游戏规则
  • 了解多个函数的定义与调用
  • 理解并熟练运行while循环
  • 理解带else子句的循环结构执行流程
  • 理解循环语句的break语句的作用
  • 了解使用循环和异常处理结构对用户输入进行约束的用法
  • 养成时刻注意各级代码缩进级别的习惯
  • 实验内容
实验内容
  • 尼姆游戏是一个著名的游戏,有很多变种玩法。两个玩家轮流从一堆物品中拿走一部分。在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。
  • 在聪明模式中,计算机每次拿走一定数量的物品使得堆的大小是2的幂次方减1—也就是3,7,15,31,63等。如果有一定数量的剩余物品,计算就随机拿走一些。
  • 编写程序,模拟聪明版及非聪明版的尼姆游戏。并进行两种的比较及分析。给出聪明版比非聪明版的胜算结论。
n 目的数 操作数x n 目的数 操作数x
1 1 失败 17 15 2
2 1 1 18 15 3
3 * ran 19 15 4
4 3 1 20 15 5
5 3 2 21 15 6
6 3 3 22 15 7
7 * ran 23 15 8
8 7 1 24 15 9
9 7 2 25 15 10
10 7 3 26 15 11
11 7 4 27 15 12
12 7 5 28 15 13
13 7 6 29 15 14
14 7 7 30 15 15
15 * ran 31 * ran
16 15 1 32 31 1
'''模拟聪明版尼姆游戏
一人进行“聪明操作”
另一人随机生成数'''
import math
import randomdef smart(n):logn = int(math.log<

Python 尼姆游戏(人机对战)相关推荐

  1. python尼姆游戏_python实现聪明的尼姆游戏(人机对战)

    尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分:在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物品 ...

  2. 尼姆游戏(人机对战)的Python实现

    尼姆游戏是一个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物 ...

  3. Python聪明的尼姆游戏(人机对战)

    实验目的: (1)理解尼姆游戏规则. (2)了解多个函数定义与调用. (3)理解并熟练运用 while 循环. (4)理解带 else 子句的循环结构执行流程. (5)理解循环语句中的 break 语 ...

  4. python尼姆游戏_使用Python编写一个聪明的尼姆游戏

    关于尼姆游戏的介绍请参考上一篇文章:一个傻傻的尼姆游戏及其Python实现,本文使用Python实现一个聪明的尼姆游戏. 在聪明模式中,计算机每次拿走足够多的物品使得堆的大小是2的幂次方减1--也就是 ...

  5. (新手小白必学!)用Python设计和实现聪明的尼姆游戏(人机对战)!!!!

    题目: 尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后 ...

  6. Python题目——实现人机对战的尼姆游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分。在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品

    问题描述:尼姆游戏是这样一个游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分.在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家 ...

  7. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)

    题目   尼姆游戏,这是一个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须拿走一部并且最多只能拿走一半物品,然后轮到下一个玩家.拿走 ...

  8. 一个傻傻的尼姆游戏及其Python实现

    尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物品 ...

  9. 使用Python编写一个聪明的尼姆游戏

    关于尼姆游戏的介绍请参考上一篇文章:一个傻傻的尼姆游戏及其Python实现,本文使用Python实现一个聪明的尼姆游戏. 在聪明模式中,计算机每次拿走足够多的物品使得堆的大小是2的幂次方减1--也就是 ...

  10. Python编写尼姆游戏

    Python编写尼姆游戏 最主要的思想是要构建函数思想.就是要将玩家和电脑分模块给编写出来.玩家可以编写比较简单不多赘述.这里主要讲一讲电脑模块.首先我们要保证电脑拿走物品剩下来过后要是2∧n-1如果 ...

最新文章

  1. php和python哪个工资高-学python和php哪个前景好
  2. leetcode算法题--网格照明
  3. “网工”可以跳越“网管”吗?
  4. AD域服务器卸载---WindowsServer2012R2
  5. Powerdesigner 在线打开 不用安装客户端 访问pdm,ldm文件
  6. MDT部署中命令行脚本的使用。
  7. 移除List中的元素,你的姿势对了吗?
  8. Magento布局layout.xml文件详解
  9. 一些js/css动画 mark
  10. 【ElasticSearch】Es 源码之 HttpServerTransport 源码解读
  11. PHP学习笔记十九【析构函数】
  12. 苹果收购倒闭智能家居安防初创公司 Lighthouse AI 专利...
  13. 三容水箱液位控制系统_过程控制实验-三容水箱液位控制系统
  14. 雅加达出差(8月24日到25日)
  15. 虚拟机挂起后,怎么恢复
  16. Xmind教程-添加外框
  17. HQChart使用教程95-报价列表对接第3方数据3-股票数据
  18. STM32学习笔记---TFT-LCD
  19. 拉结尔派遣任务辅助介绍 拉结尔快速升级脚本挂机工具
  20. 深度学习训练遇到的坑(一)

热门文章

  1. C++头文件【iomanip】的简要讲解
  2. C语言基础知识手册(三)——预处理、运算符
  3. Zabbix自动发现规则如何使用过滤器
  4. 小白学 RPA(全球机器人流程自动化)----uipath的初接触
  5. 总有你要的编程书单(GitHub )
  6. “赚钱机器”网址导航站的生存之道
  7. js中出现addEventListener is not a function
  8. 认领签名空包(亲测mac 可用)
  9. 谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传
  10. 静态路由 路由黑洞 缺省理由 空接口路由 浮动静态路由