Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果语句条件为列表成员资格测试无法正常工作_Python_If Statement_Chess_Statements - Fatal编程技术网

Python 如果语句条件为列表成员资格测试无法正常工作

Python 如果语句条件为列表成员资格测试无法正常工作,python,if-statement,chess,statements,Python,If Statement,Chess,Statements,我写了一个简单的脚本,但输出不正确。你能给我一些建议吗 解决它?问题是关于棋盘上的白色或黑色方块: 如果我将def与字符串“d”和int(4)一起使用,它将返回白色,但它有 是黑人吗 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_

我写了一个简单的脚本,但输出不正确。你能给我一些建议吗 解决它?问题是关于棋盘上的白色或黑色方块: 如果我将def与字符串“d”和int(4)一起使用,它将返回白色,但它有 是黑人吗

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)

这种说法是罪魁祸首:

elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
# ___________________________________________________^

在中应该是
,而不是
。您应该知道,
in
测试成员资格,而
is
测试引用的平等性。这两种说法不一样。

这句话就是罪魁祸首:

elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
# ___________________________________________________^

中应该是
,而不是
。您应该知道,
in
测试成员资格,而
is
测试引用的平等性。两者不一样。

在列表字母2和int(整数)中表示
elif str(字母)的行是列表数字2:
-在列表数字2中最后一部分应该是
int(整数)
在列表字母2和int(整数)中表示
elif str(字母)的行是列表数字2:
-最后一部分应该是
int(整数)在列表\u编号\u 2
中,您在测试中的
中有一个输入错误。此行:

elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
是有效的Python,但不是您的意思。它应该是:

elif str(letter) in list_letters_2 and int(integer) in list_numbers_2:

is
测试将始终为
False

您在
测试中的
中有一个输入错误。此行:

elif str(letter) in list_letters_2 and int(integer) is list_numbers_2:
是有效的Python,但不是您的意思。它应该是:

elif str(letter) in list_letters_2 and int(integer) in list_numbers_2:

is
测试总是
False

int(整数)是列表中的数字2
应该是列表中的整数
int(整数)
int(整数)
int(整数)
int(整数)
int(整数)是列表中的数字2
应该是
int(整数)问题出在清单2中。如果其中一个答案有帮助,请继续,并将其标记为已接受。谢谢!