0 python if-statement chess statements
我写了一个简单的脚本,但输出不正确.你能给我建议如何解决吗?问题是关于棋盘上的白色或黑色方块:如果我使用带有字符串'd'和int(4)的def,它将返回白色,但它必须是黑色的?
def in_white(letter,integer):
list_letters_1 = ['a','c','e','g']
list_letters_2 = ['b','d','f','h']
list_numbers_1 = [1,3,5,7]
list_numbers_2 = [2,4,6,8]
print(list_numbers_1)
if str(letter) in list_letters_1 and int(integer) in list_numbers_1:
print("black")
elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
print("black")
else:
print("white")
in_white('d',4)
Run Code Online (Sandbox Code Playgroud)
这句话是罪魁祸首:
elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
# ___________________________________________________^
Run Code Online (Sandbox Code Playgroud)
应该是in,而不是is.您应该知道in成员资格的测试,同时is测试参考是否相等.两者不一样.