最近我用Python做了一个国际象棋程序并把代码发布在Github上了。这个代码不到1000行,大概20%用来实现AI。在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来。你可以直接通读本文,或者去下载代码,边读边看代码。虽然去看看其他文件中有什么AI依赖的类也可能有帮助,但是AI部分全都在AI.py文件中。AI部分总述AI在做出决策前经过三个不同的步骤。首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到
系统 2019-09-27 17:53:42 2163
Random随机掷骰子基础代码:importrandomdefroll_dice():roll=random.randint(1,6)returnrolldefmain():total_times=10#初始化列表[0,0,0,0,0,0]记录每个点出现的次数result_list=[0]*6foriinrange(total_times):roll=roll_dice()forjinrange(1,7):ifroll==j:result_list[j-1
系统 2019-09-27 17:53:35 2163
如下所示:list=[1,2,3,4,5,6,7,8,9,0,11,0,13,14,15,16,17,18,19,20]#把list分为长度为5的4段forjinrange(0,len(list),5):matrix.append(list[j:j+5])matrix=np.array(matrix)#转array型printmatrix[0]#输出第一段结果:[[12340][67800][110131415][160181920]]以上这篇在pytho
系统 2019-09-27 17:52:10 2163
如题、学习、保存1源码#-*-coding:utf-8-*-'''time:2019-8-21author:Bing'''importmatplotlib.pyplotasplt#num_list=[1.5,0.6,7.8,6]fig,ax=plt.subplots()num_list=[7870,81937,17529598,6225227]name_list=['Eviction','Failed','Finished','Killed']b=ax.b
系统 2019-09-27 17:51:29 2163
一、定义见百度百科链表链表由表头和节点组成,节点分为数据域和指针域,数据域中存贮数据元素,指针域存储下个结点的地址二、单链表实现逻辑创建节点类Node和链表类Linklist,Linklist类中包含head属性,head的值为0或Node对象,Node类中包含value属性存储数据,next属性存储下个节点的地址(Node对象)循环节点从head开始取next属性,直到next=0为止,返回当前对象添加节点时调用循环方法返回最后一个节点对象,把返回节点的
系统 2019-09-27 17:51:27 2163
最近要写一款基于被动式的漏洞扫描器,因为被动式是将我们在浏览器浏览的时候所发出的请求进行捕获,然后交给扫描器进行处理,本来打算自己写这个代理的,但是因为考虑到需要抓取https,所以最后找到Mitmproxy这个程序。安装方法:pipinstallmitmproxy接下来通过一个案例程序来了解它的使用,下面是目录结构sproxy|utils|__init__.py|parser.py|sproxy.pysproxy.py代码#coding=utf-8fro
系统 2019-09-27 17:50:22 2163
背景为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化。自学python以及自动化测试。虽然在2017年已经开始接触了selenium,期间是断断续续执行自动化测试,因为还有其他测试任务,培训任务要执行…前期建议大家能够学习python基本语法(python基础教程)任务搭建自动化测试框架,并能有效方便的进行测试,维护成本也要考虑其中。过程我的自动化框架可能不成熟,因为是自学的。请多包涵。也请大佬指导~common包含:基本的公共方法类,比
系统 2019-09-27 17:49:39 2163
多个字段模糊查询,括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思#搜索功能@csrf_exempt#使用@csrf_exempt装饰器,免除csrf验证defsearch_testCaseApi(request):ifrequest.method=='POST':name=request.POST.get('task_name')updateUser=request.
系统 2019-09-27 17:49:23 2163
目录一、进程之间的数据共享1.1Manager模块介绍1.2Manager例子一、进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。1.1Manage
系统 2019-09-27 17:49:06 2163
用户资料页面在用户资料页面,基本上没有什么特别要强调和介绍的新概念。只需要创建一个含有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 2163