利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间。 几点改进说明: 拆分成四个文件:board.py,player.py,ai.py,othello.py。使得整个结构更清晰,更通用,更易于维护。 AI 的水平跟 minimax 的递归深度,以及评价函数有关。基于此,我把 minimax 和评价函数都放到 AI 类里面 AIPlayer 使用了多重继承。继承了 Player 与 AI 两个类 Game 类中把原run函数里的生成两个玩家的部分提出来,写成一个函数make_two_players,使得 run函数结构更清晰 AI 玩家等级不要
2021-11-22 00:02:00 97KB player python python函数
1
本文实例讲述了使用Python生成XML的方法。分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM树的形式从空白文件生成一个XML。 ''' from xml.dom.minidom import Document doc = Document() #创建DOM文档对象 bookstore = doc.createElement('bookstore') #创建根元素 bookstore.setAttribute('xmlns:xsi',"http://www.w3.org/2001/XML
2021-11-21 17:19:46 45KB last python python函数
1
0 引言 上周被一则新闻震惊到了,《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》,在2019年5月2日开奖的双色球中,广东中山一位彩民博中2454万元,兑奖时间截至2019年7月1日。 令人遗憾的是,中奖者最终未现身领奖,2454万元大奖成为弃奖。经中山市福彩中心查证,这是中国福彩史上金额第二大的弃奖。根据《彩票管理条例实施细则》的有关规定,这次的2454万元弃奖奖金将被纳入彩票公益金。 一直在为福彩做贡献的我,啥时候能摊上这样的好事啊。于是我用Python生成了一组双色球的号码…… 1 环境 操作系统:Windows Python版本:3.7.3 2 需求分析 随机生
2021-11-20 22:38:12 384KB python python函数 彩票
1
EXCEL的数值排序功能还是挺强大的,升序、降序,尤其自定义排序,能够对多个字段进行排序工作。 那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能,一点不比EXCEL的差。 同样,我们依然用到的是强大的pandas这个三方库。我们先将numpy和pandas导入进来: 接着构造一个今天要用到的DataFrame,我们用字典的形式来构造。 都是随意构造的,内容别较真。我们先来个简单点的热热身,按照身高的降序来排列一下。 我们用到的是df.sort_values()这个函数。第一个参数为by,传入你要排序的列的标签名即可,后面的ascend
2021-11-20 14:12:29 112KB python python函数 排序
1
本文实例讲述了Python基于回溯法子集树模板解决m着色问题。分享给大家供大家参考,具体如下: 问题 图的m-着色判定问题 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G中任意相邻的2个顶点着不同颜色? 图的m-着色优化问题 若一个图最少需要m种颜色才能使图中任意相邻的2个顶点着不同颜色,则称这个数m为该图的色数。求一个图的最小色数m的问题称为m-着色优化问题。 分析 解的长度是固定的,n。若x为本问题的一个解,则x[i]表示第i个节点的涂色编号。 可以将m种颜色看作每个节点的状态空间。每到一个节点,遍历所有颜色,剪枝,回溯。 不难看
2021-11-18 21:52:56 114KB python python函数 python实例
1
本文实例讲述了Python设计模式之抽象工厂模式原理与用法。分享给大家供大家参考,具体如下: 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 下面是一个抽象工厂的demo: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Andy' 大话设计模式 设计模式——抽象工厂模式 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 import sys #抽
2021-11-18 15:37:32 141KB python python函数 python实例
1
PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。 关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用 # -*- coding: utf-8 -*- # 3import pythoncom 4import pyHook 5def onMouseEvent(event): # 监听鼠标事件 print "MessageName:",event.Mes
2021-11-17 16:34:10 54KB event python python函数
1
!!这是一个直接可用的方法!! 看看效果! 我们有这样一个多层嵌套的多维字典: # 老千层饼 data = { '千层饼': { '你以为我是第一层': { '其实我是第五层': '呵呵', '其实还有': { '肉弹葱鸡': ['哦!'], '又千层了': '重名了但是一样找到', '字符串类型,但是我想转换成整数': '999' } }, '对': '对又怎么了',
2021-11-16 23:14:56 38KB data python python函数
1
python讨论qq群:996113038 代码及相关资源获取: 后台回复“game5”获取源代码。 开发工具: python3.6.4。 需要安装的模块或者库: random模块。 turtle模块。 math模块。 os模块 collections模块。 效果演示: 基本原理 一:游戏设定: 1:在游戏界面内,蓝色部分是可以移动的通道。 2:黄色的大圆圈代表的是角色本身,红色的大圆圈代表的是敌人。 3:小黄点代表的是食物(豆子),我们的角色需要吃掉小黄点。 4:我们的角色被敌方碰到以后就会死亡。 部分代码 我们首先要设定游戏界面。游戏背景分为蓝色的通道和黑色的障碍。我们可以用一个
2021-11-16 20:11:33 64KB python python函数 吃豆人
1
八皇后问题描述 问题: 国际象棋棋盘是8 * 8的方格,每个方格里放一个棋子。皇后这种棋子可以攻击同一行或者同一列或者斜线(左上左下右上右下四个方向)上的棋子。在一个棋盘上如果要放八个皇后,使得她们互相之间不能攻击(即任意两两之间都不同行不同列不同斜线),求出一种(进一步的,所有)布局方式。 首先,我们想到递归和非递归两类算法来解决这个问题。首先说说递归地算法。 很自然的,我们可以基于行来做判断标准。八个皇后都不同行这是肯定的,也就说每行有且仅有一个皇后,问题就在于皇后要放在哪个列。当然八个列下标也都不能有相同,除此之外还要保证斜线上不能有重叠的皇后。 第一个需要解决的小问题就是,如何用数学
2021-11-16 00:03:53 96KB python python函数 python算法
1