Python题目——实现人机对战的尼姆游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分。在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品
问题描述:尼姆游戏是这样一个游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分。在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。
基本思路:在每次循环中让人类玩家先拿走一定数量的物品,然后再让计算机取走一些物品,要求拿走的物品数量不超过剩余数量的一半。如果物品全部取完则结束游戏,并且判定拿走最后一个物品的玩家为输。
from random import randintn=int(input('请输入一个正整数:'))
while n>1:#人类玩家先走print("该你拿了,现在剩余物品数量为:{0}". format(n))#确保人类玩家输入合法整数值 while True:try:num=int(input('输入你要拿走的物品数量:'))#确保拿走的物品数量不超过一半assert 1<=num<=n//2breakexcept:print('最少必须拿走1个,最多可以拿走{0}个。'. format(n//2)) n-=numif n==1:print('恭喜,你赢了!')break#计算机玩家随机拿走一些,randint()用来生成指定范围内的一个随机数 n-=randint(1,n//2)else:print('哈哈,你输了。')
测试结果
Python题目——实现人机对战的尼姆游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分。在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品相关推荐
- (新手小白必学!)用Python设计和实现聪明的尼姆游戏(人机对战)!!!!
题目: 尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后 ...
- python尼姆游戏_python实现聪明的尼姆游戏(人机对战)
尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分:在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物品 ...
- Python聪明的尼姆游戏(人机对战)
实验目的: (1)理解尼姆游戏规则. (2)了解多个函数定义与调用. (3)理解并熟练运用 while 循环. (4)理解带 else 子句的循环结构执行流程. (5)理解循环语句中的 break 语 ...
- 尼姆游戏(人机对战)的Python实现
尼姆游戏是一个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物 ...
- 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
题目 尼姆游戏,这是一个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须拿走一部并且最多只能拿走一半物品,然后轮到下一个玩家.拿走 ...
- 一个傻傻的尼姆游戏及其Python实现
尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家.拿走最后一个物品 ...
- Python设计和实现聪明的尼姆游戏
Python设计和实现聪明的尼姆游戏 尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品 ...
- Python代码实现尼姆游戏聪明模式
Python代码实现尼姆游戏聪明模式 代码问题描述: 尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多 ...
- python编程实验,模拟聪明版的尼姆游戏设计原理
实验原理与内容: 本实验完成一个模拟聪明版的尼姆游戏功能: 尼姆游戏是个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分,在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并 ...
最新文章
- Ajax表单提交给C#后台选中的checkbox值
- web 前端基本框架
- toncat 如何部署 java_tomcat中部署java项目
- 微服务的隔离和熔断机制
- Spring时间(Date)类型转换+自定义
- 关闭IDEA双击shift全局搜索
- 通过vba代码将word转换为PDF
- 微信小程序实战之登录页面制作
- 无人驾驶汽车系统入门(十五)——ROS入门与实践(2)
- 路由器安全——破解wifi密码,同时中间人攻击
- python分组求和_如何对某一列自动分组,统计求和
- 大数据处理系统都有哪些?(批处理系统与迭代计算系统)
- 原来华为手机的语音助手这么好用,说话即可语音翻译,方便又实用
- D. Shuffle(cf)暴力枚举 + 组合数学
- 计算机网络——(6)网络互联技术与设备
- 从产品角度,快速接盘新系统的一些经验及方法提炼
- 中科大计算机科学夏令营,中科大计算机保研夏令营
- 7 张简单图片帮你弄懂企业级架构
- ACP敏捷8.人的因素.敏捷领导力和敏捷教练
- crontab定时脚本常见报错
热门文章
- ARP攻击的原理与防范
- 不要小看 b=~a4
- YOLOV3学习笔记(噼里啪啦up主)
- 玩转Liunx系统,看这篇文章就够了(一)
- UnboundLocalError: local variable ‘list‘ referenced before assignment
- windows下命令行方式激活venv虚拟环境
- html页面编码规则,HTML:网站通用代码规范
- 《Java黑皮书基础篇第10版》 第9章【笔记】
- 快速、简洁且高效的博客框架hexo
- 【渝粤教育】 国家开放大学2020年春季 1018国际公法 参考试题