我创建了一个变量,该变量分配给列表列表中的一个项目,然后将该同一变量分配给另一个列表。每当我检查该变量是否在该列表内时,它不会检查名称“A6”,它只会检查分配的这些变量的值。
board = [['.', '.', '.', '.', '.', '.', '.', '.', '.'] , ['.', '.', '.', '.', '.', '.', '.', '.', '.'] , ['.', '.', '.', '.', '.', '.', '.', '.', '.']]
A1 = board[0][0]
A2 = board[0][1]
A3 = board[0][2]
A4 = board[0][3]
A5 = board[0][4]
A6 = board[0][5]
A7 = board[0][6]
A8 = board[0][7]
A9 = board[0][8]
B1 = board[1][0]
B2 = board[1][1]
B3 = board[1][2]
B4 = board[1][3]
B5 = board[1][4]
B6 = board[1][5]
B7 = board[1][6]
B8 = board[1][7]
B9 = board[1][8]
A = [A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9]
user_input = input('input stone coordinate: ')
def checks_coord():
for i in A:
if i == user_input:
print('true')
checks_coord()
我尝试使用 for 循环来检查用户输入是否与列表“A”内的变量之一相同。例如,我输入“A6”,它不会打印 true,但每当我输入“.”时,它都会打印 true。
你写的
A = [ ... , A6, ... ]
你想写的是
A = [ ... , (0, 5), ... ]
如果用户将一行称为
A
而不是 0
,
那么您将需要一种在它们之间来回映射的方法。
您可以使用dict
。
或者你可能会发现
chr(n + ord('A'))
是将整数
n
转换为 str
的便捷方法。
输入字符串
ch
的逆运算是
ord(ch) - ord('A')