最近我用Python做了一个国际象棋程序并把代码发布在Github上了。这个代码不到1000行,大概20%用来实现AI。在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来。你可以直接通读本文,或者去下载代码,边读边看代码。虽然去看看其他文件中有什么AI依赖的类也可能有帮助,但是AI部分全都在AI.py文件中。AI部分总述AI在做出决策前经过三个不同的步骤。首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到
系统 2019-09-27 17:53:42 2201
1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:importnumpyasnpimportpandasaspd2、导入CSV或者xlsx文件:df=pd.DataFrame(pd.read_csv('name.csv',header=1))df=pd.DataFrame(pd.read_excel('name.xlsx'))3、用pandas创建数据表:df=pd.DataFrame({"id":[1001,1002,1003,1
系统 2019-09-27 17:51:16 2201
最近要写一款基于被动式的漏洞扫描器,因为被动式是将我们在浏览器浏览的时候所发出的请求进行捕获,然后交给扫描器进行处理,本来打算自己写这个代理的,但是因为考虑到需要抓取https,所以最后找到Mitmproxy这个程序。安装方法:pipinstallmitmproxy接下来通过一个案例程序来了解它的使用,下面是目录结构sproxy|utils|__init__.py|parser.py|sproxy.pysproxy.py代码#coding=utf-8fro
系统 2019-09-27 17:50:22 2201
程序流Python解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句。例如,清单1展示了几个简单的语句。当把它们键入Python解释器中(或者将它们保存在一个文件中,并作为一个Python程序来执行)时,读取语句的顺序是从左到右。当读到一个行结束符(比如换行符)时,Python解释器就前进到下一行并继续,直到没有了代码行。清单1.一个简单的Python程序>>>i=1>>>type(i)>>>l=[0,1,2,3,
系统 2019-09-27 17:49:43 2201
由于客户提供的是excel文件,在使用时期望使用csv文件格式,且对某些字段内容需要做一些处理,如从某个字段中固定的几位抽取出来,独立作为一个字段等,下面记录下使用acaconda处理的过程;importpandasdf=pandas.read_excel("/***/***.xlsx")df.columns=[内部为你给你的excel每一列自定义的名称](比如我给我的excel自定义列表为:["url","productName","***",。。。,"
系统 2019-09-27 17:49:31 2201
上一篇博客介绍了神经网络其实就是两步,第一步是前向传输,根据输入的特征值与权重矩阵以及激活函数,不断往前计算,得到输出层的值,第二步就是后向传播,根据残差的加权求和,不断往后,直到输入层,然后更新权重,不断进行这两步,直接输出结果的误差在所要求范围内即可。本篇博文通过python代码实现神经网络,采用sklearn自带的手写数字集,看分类情况如何一、导入数据集并标准化数据集的加载非常简单,直接调用load_digits即可,常用到的数据有:digits.d
系统 2019-09-27 17:49:25 2201
用户资料页面在用户资料页面,基本上没有什么特别要强调和介绍的新概念。只需要创建一个含有HTML的新视图函数模板页面即可。下面是视图函数(项目目录/views.py):@app.route('/user/')@login_requireddefuser(nickname):user=User.query.filter_by(nickname=nickname).first()ifuser==None:flash('不存在用户:'+nickname+'!')r
系统 2019-09-27 17:48:56 2201
启动python从IDLE启动PythonIDLE是一个PythonShell。Shell的意思是“外壳”,是一个通过键入文本与程序交互的途径(类似windows中的cmd。VisualStudio也是一种Shell)>>>是指Python准备好了,可以输入Python指令alt+N快速回到上一条语句(复制粘贴);alt+P下一条字符串print("hello,world")#"内是字符串"计算print(5+3)括号内没有""+print("ilove"
系统 2019-09-27 17:48:40 2201
方法abs()返回x的绝对值,-x-零之间的(正极)的距离。语法以下是abs()方法的语法:abs(x)参数x--这是一个数值表达式返回值此方法返回x的绝对值。例子下面的例子显示abs()方法的使用。#!/usr/bin/pythonprint"abs(-45):",abs(-45)print"abs(100.12):",abs(100.12)print"abs(119L):",abs(119L)当我们运行上面的程序,它会产生以下结果:abs(-45):4
系统 2019-09-27 17:46:57 2201
Tqdm是一个易用性强、扩展性高的Python进度条库,可以在Python长循环中添加一个进度提示信息,我们只需要封装任意的迭代器tqdm(iterator)即可。安装学习交流群:243771258安装过程如下:自动控制进度更新学习交流群:243771258传入可迭代对象输出结果为:使用方法trangetrange(i)是tqdm(range(i))的简单写法。学习交流群:243771258输出结果为:学习交流群:243771258为进度条设置描述在for
系统 2019-09-27 17:46:11 2201