python - Python-Chess board.is_checkmate, .is_stalemate, .is_en_passant, .is_check 总是返回 True
问题描述
刚下载了 Python-Chess 模块,想测试一下;每当我使用board.is_checkmate
、board.is_stalemate
、和 print 语句检查板状态时,它总是返回 true board.is_check
。board.is_en_passant
我在 macOS 11.3 上使用 VSCode。Python 版本是 3.8.2。
import chess
board = chess.Board()
if board.is_checkmate:
print("game over")
解决方案
您正在检查方法是否存在。您需要调用该方法并检查返回的内容。添加括号将完成此操作。这将调用该方法,该方法检查板是否处于此状态。
import chess
board = chess.Board()
if board.is_checkmate():
print("game over")
您可以通过打印“board.is_checkmate()”与“board.is_checkmate”来测试这一点,其中一个将给真/假另一个在内存中存储该方法的地址。
推荐阅读
- javascript - 在默认函数中调用另一个函数
- powershell - 从管理门户上显示的所有 Office 365 组中删除 CVS 文件中的禁用用户
- android - 带有 RecyclerView 的运动布局,在 recyclerview 的末尾滚动
- pandas - pandas 数据透视表 DF 的索引计数
- python-3.x - Python根据属性获取类对象名称
- javascript - Firefox 中的 JS MIME 警告。不加载脚本
- azure - 如何从 Dynamics 365 而不是 GUID 获得真正的价值?
- pointers - 优化:指针的vector.erase()
- ios - 完成上一条后如何多次绘制相同的贝塞尔路径?
- c - 在提交时给出运行时错误,但在 leetcode 问题上的自定义测试用例上给出正确的输出