我被一些python脚本困住了

https://python4kids.brendanscott.com/2014/12/02/hooking-up-the-sunfish-chess-engine-advanced/

:我按照Brendan Scott的指示,按照他的描述构建了小Python脚本,以获得sunfish.py的TKinter GUI,这是一个漂亮的小棋类应用程序但是代码中包含了一些错误,尽管他的文章和解释非常清楚,并且设置得很好。

首先,这给出了一个“keyerror”错误:

def location_to_algebraic(board_location):

return "%s%s"%(ALGEBRAIC_DICT[7-board_location.j],8-board_location.i)

我简单地解决了这个问题:

def location_to_algebraic(board_location):

return "%s%s"%(ALGEBRAIC_DICT[math.ceil(7-board_location.j)],math.ceil(8-board_location.i))

说明:屏幕上用户点击的点,在棋盘格的某个地方,似乎给出x,y浮点数,而整数是预期的,因为它们是字典的索引。通过舍入,使用math.ceil(),我们就可以得到正确的整数,并且它可以按预期工作。奇怪的是,作者似乎没有测试最后的剧本。

但是另一个(简单的?)我无法解决此脚本中的错误:

move, score = sunfish.search(pos)

出现此错误:

attributeerror:模块'sunfish'没有'search'属性

SKECHO()函数似乎没有被正确调用,而它确实存在于模块“太阳鱼”中:在它的类“搜索器”中。所以我试着通过:

move, score = sunfish.Searcher.search(pos)

但后来我又犯了一个错误:

TypeError:search()缺少2个必需的位置参数:“pos”和“secs”

现在调用了search()函数,但参数很少!?当我试图通过以下方式解决这个问题时:

move, score = sunfish.Searcher.search(pos, secs=2)

我得到另一个错误:

typeerror:search()缺少1个必需的位置参数:“pos”

我现在卡住了。

下面是sunfish.Searcher类中的相关搜索函数,非常简单:

def search(self, pos, secs):

start = time.time()

for _ in self._search(pos):

if time.time() - start > secs:

break

return self.tp_move.get(pos), self.tp_score.get((pos, self.depth, True)).lower

如何正确调用search()?

这个

初始

搜索者类的如下:

class Searcher:

def __init__(self):

self.tp_score = LRUCache(TABLE_SIZE)

self.tp_move = LRUCache(TABLE_SIZE)

self.nodes = 0

python类中调用另一个程序函数_Python:如何在另一个类中调用函数相关推荐

  1. Java黑皮书课后题第8章:**8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府。当接收到用户输入后,程序报告答案是否正确。假设50个州以及它们的首府保存在一个二维数组中,提示用户回答所

    **8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府. ...

  2. Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次

    *7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和.Ace King Quee Jack分别表示1.13.12和11,显示得到和为24的选牌次数 题目 题目描述 破 ...

  3. 12.15有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数

    有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.编写一个程序,从命令行得到一个整数,判断该数是不是回文数 package Text6;import java.util.Scanner; ...

  4. 有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。

    package task08;import java.util.Scanner;/** 8.有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.* 编写一个程序,从命令行得到一个整数,判断 ...

  5. python中闭包函数_Python的闭包问题(关于内嵌函数引用闭包函数的变量问题)

    一.闭包: 记得:闭包的特性就是:内嵌函数会保存它引用的外围函数的变量值. 闭包概念:在一个内部函数中,对外部作用域的变量进行引用,(并且一般外部函数的返回值为内部函数),那么内部函数和被引用的变量等 ...

  6. python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...

    Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...

  7. 面试了一个程序员,只因这一个细节,被我一眼看穿是培训班出来的,没啥工作经验...

    首先,我说一句:培训出来的,优秀学员大有人在,我不希望因为带着培训的标签而无法达到用人单位和候选人的双向匹配,是非常遗憾的事情. 最近,在网上看到这样一个留言,引发了程序员这个圈子不少的轰动. &qu ...

  8. python order函数_Python进阶内容(一)--- 高阶函数 High order function

    0. 问题 # 本文将围绕这段代码进行Python中高阶函数相关内容的讲解 # 文中所有代码的兼容性要求为:Python 3.6,IPython 6.1.0 def addspam(fn): def ...

  9. VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)

    注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用 ...

  10. python编写代码实现文件的拷贝功能_python利用os模块编写文件复制功能——copy()函数用法...

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\p ...

最新文章

  1. ASP.NET跨服务器上传文件的相关解决方案
  2. 通用工具之Pair和Tuple-《C++标准库(第二版)》读书笔记
  3. [USACO06NOV]玉米田Corn Fields(动态规划,状态压缩)
  4. rabbitmq 不同的消费者消费同一个队列_RabbitMQ 消费端限流、TTL、死信队列
  5. 莫烦Pytorch神经网络第三章代码修改
  6. Django QuerySet API文档
  7. crontab -e 怎么保存后退出?
  8. matlab优化设计例程,优化设计Matlab_实例解析
  9. 1、分组选择器, 2、尺寸 (Dimension)属性,3、Display(显示) 与 Visibility(可见性),4、CSS Display - 块和内联元素,5、CSS Position(定位
  10. 在window是下安装hadoop过程
  11. NOD32 病毒定义更新程序 v2.1
  12. IT成长日记(一)——字体
  13. 计算机桌面下方任务栏图标不见了,任务栏显示桌面图标不见怎么办
  14. CRM高端制造业应用案例分析
  15. 手机通过USB共享电脑宽带
  16. html中制作banner,css banner轮播图怎么做?
  17. python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中
  18. c语言程序设计韦良芬答案,论高职院校《C语言程序设计》的教学改革
  19. 多线程堆排序算法C语言实现
  20. Android自定义View之电池电量显示

热门文章

  1. 7年员工主动辞职HR: 本来想辞退你, 现在28万赔偿不用给你亏大了
  2. 关于远程教育行业的移动平台设计
  3. windows安装包删了会有影响吗_已安装更新可以删除吗?win10删除更新安装教程
  4. 电力系统为什么是三相的
  5. CNCF里程碑:超过375家会员
  6. vba遍历数组_VBA 在行中循环遍历的例子
  7. 解决:git: command not found、apt-get: command not found、git 安装
  8. nagios飞信监控
  9. Windows7管理员权限获取
  10. 我的Python——学习记录10.16