我正在研究评级位置,但我不知道某个工件是否在某个正方形上。 当我运行代码时,我得到
AttributeError: 'NoneType' object has no attribute 'symbol'
代码如下:
for i in range(0,8):
for j in range(0,8):
if i == 0:
s='A'
if i == 1:
s='B'
if i == 2:
s='C'
if i == 3:
s='D'
if i == 4:
s='E'
if i == 5:
s='F'
if i == 6:
s='G'
if i == 7:
s='H'
if j == 0:
e='1'
if j == 1:
e='2'
if j == 2:
e='3'
if j == 3:
e='4'
if j == 4:
e='5'
if j == 5:
e='6'
if j == 6:
e='7'
if j == 7:
e='8'
piece = board.piece_at(getattr(chess,s+e))
print(piece.symbol())
如果没有工件(如起始板中的e4),则
board.piece_at()
将返回None
。因此,在询问piece == None
的符号之前,您应该先检查piece == None
。请注意,您的代码可以更高效,如下所示:
如果你想用Python来评价国际象棋的位置,我可以帮你一点忙。我也做过。
你可以为每件作品准备一张好的位置表(见theis page)。 您可以为每个工件创建货物位置列表,从a1、b1。。。以h8结尾。
e、 g.对于白人国王:
注:对于黑色零件,值必须为负数,以便进行良好的分析。
接下来,您可以创建一个dict,将每个片段字符串符号引用到其相应的商品位置列表:
现在,您可以对位置进行评级评估(仅针对放置,不针对其他参数,但如果您联系我,我可以帮助您对国际象棋中的其他位置进行评级。我将您的问题理解为“我想对棋盘上的每个棋子放置进行评级”):
相关问题 更多 >
编程相关推荐