【发布时间】:2021-11-11 08:57:57
【问题描述】:
我正在尝试创建一个运算符,用户在其中键入棋盘上的位置,如果它站在黑色或白色方块上,我的程序将打印出来。问题是我的 if 语句不能正确地遍历我的数组。
pos = input (f'Hvilken posisjon står brikken på? ')
bokstav = pos[0]
tall = int(pos[1])
for x in bokstav:
for y in str(tall):
partall_svart = ['b','d','f','h']
partall_hvit = ['a','c','e','g']
print (partall_svart)
print (partall_hvit)
if x == partall_svart and int(y) % 2 == 0:
print (f'Posisjon: {bokstav}{tall}\nSvart')
elif x == partall_svart and int(y) % 2 == 1:
print (f'Posisjon: {bokstav}{tall}\nHvit')
if x == partall_hvit and int(y) % 2 == 0:
print (f'Posisjon: {bokstav}{tall}\nHvit')
elif x == partall_hvit and int(y) % 2 == 1:
print (f'Posisjon: {bokstav}{tall}\nSvart')
【问题讨论】:
-
您指的是哪个
if声明?您是否要检查x是否是partall_svart中的项目之一?使用in,而不是==。 -
这个问题在这里得到解答:Check if item is in an array / list
-
aA的代码点是奇数。因此,由于正方形A1是黑色的,您只需检查行号的奇偶校验是否与列字母代码点的奇偶校验相同:即svart = ord(pos[0]) % 2 == int(pos[1]) % 2。不需要 for 循环。
标签: python arrays if-statement