首页 > 编程语言 >学习记录:用python实现井字棋小游戏

学习记录:用python实现井字棋小游戏

时间:2023-12-03 22:11:25浏览次数:40  
标签:空位 获胜 python 井字棋 ai 小游戏 下棋

1.实现双人井字棋 创建3*3矩阵 制作下棋函数 制作判断获胜函数 

2.实现简单ai 在输入下棋位置后自动在空位下棋 

3.复杂化 自动寻找下后获胜的位置 若无则判断对手是否即将获胜并进行堵截 仍无则在随机空位下棋 

新手上路出现了很多啼笑皆非的bug 诸如在print下方出现None ai只进行一次操作 ai连续进行操作 下在非空位后ai额外执行一次操作等bug 

试着提升了码风 使用数组存储棋局状态 对时间 空间 代码难易程度进行了思考

标签:空位,获胜,python,井字棋,ai,小游戏,下棋
From: https://www.cnblogs.com/Starime/p/17873909.html

相关文章

  • Python 的 tqdm 如果在内部使用print打印 会重复打印进度条 怎么避免这个问题?
    要避免在使用Python的tqdm库时在内部使用print打印时重复打印进度条,您可以通过使用tqdm库提供的特殊函数tqdm.write()来实现。tqdm.write()函数会将输出写入到标准输出,而不会干扰进度条的显示。下面是一个示例:fromtqdmimporttqdmimporttime#创建一个范围为10的进度条fori......
  • python日志模块回顾
    日志模块配置文件logging.yamlversion:1formatters:simple:format:'[%(asctime)s%(thread)d][%(levelname)s]%(message)s'#日志内容的格式化,具体参数问GPT或百度dateformat:'%Y-%m-%d%H:%M:%S.%f'handlers:console:class:logging.StreamHand......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • python 解压可迭代对象赋值给多个变量
    1.2解压可迭代对象赋值给多个变量问题如果一个可迭代对象的元素个数超过变量个数时,会抛出一个ValueError。那么怎样才能从这个可迭代对象中解压出N个元素出来?解决方案Python的星号表达式可以用来解决这个问题。比如,你在学习一门课程,在学期末的时候,你想统计下家庭作业......
  • pythont基础-条件流程语句
    1、条件流程语句1、if语句if表达式1:语句if表达式2:语句elif表达式3:语句else:语句elif表达式4:2、for循环语句#以下for实例中使用了break语句,break语句用于跳出当前循环体:sites=["Baidu","Google","Runoob","Taobao"]forsitein......
  • Python基础_01_MarkDown语法基础
    MarkDown基础语法[一]Typora(1)下载官网:Typora官方中文站(typoraio.cn)正版价格及介绍:89元/3台设备;89元三个设备码(重装系统设备码失效)绿色版:网盘链接[.\Typora\resources文件夹下替换(app.asar)](2)部分设置主题更改:Typora官方主题库下载完成后,解压压缩包后将.css......
  • python基础-encode()、decode()函数
    1、encode()函数用于将字符串转换为指定编码格式的字节序列语法:其中,encoding是指定的编码格式,例如UTF-8、GBK等;errors是可选参数,用于指定编码错误的处理方式。string.encode(encoding,errors)示例s="周杰伦"bs1=s.encode("gbk")#bytes类型bs2=s.encode("utf......
  • python基础-字典
    1、字典定义字典是一种可变的容器,可以存储任意类型的数据字典中的每个数据都是用"键"(key)进行索引,而不像序列可以用下标进行索引【集合可以用下标进行搜索】字典中的数据没有先后关系,字典的存储是无序的【集合set存储也是无序的】字典的表示方式是以{}括起来,以冒号(......
  • python报错:Pip 20.3+ break proxy connection
    参考:https://www.cnblogs.com/devilmaycry812839668/p/17872452.html   ==================================== 在proxy方式下使用pip有时候会报错。原因是某些版本pip依赖的urllib3库默认使用https方式进行网络连接,但是在proxy模式下由于大部分的proxy工具都是不支持h......
  • python基础-集合
    1、集合的创建用{}进行创建用内置函数set()进行创建示例代码#第一种创建方式s={1,2,3,3,4,5,6,7}print(s,type(s))#第二种创建方式s1=set(range(6))#根据范围进行集合的创建print(s1)s2=set([1,23,34,12,23])#将列表转换为为集合print(s......