Python 类型错误:';在<;字符串>';需要字符串作为左操作数,而不是列表(函数)

Python 类型错误:';在<;字符串>';需要字符串作为左操作数,而不是列表(函数),python,Python,我正在尝试创建一个函数来读取您的输入并使用关键字给出答案。但是错误“TypeError:'in”要求字符串作为左操作数,而不是列表”不断出现,我似乎可以修复它如果variableName是一个列表,您可以使用。\uuuuu contains\uuuu()检查成员身份 尝试将if语句更改为if variableName.\uuu包含\uuuu(Up.lower):如果variableName是一个列表,您可以使用。\uu包含\uuu()检查成员资格 尝试将if语句更改为if variableNam

我正在尝试创建一个函数来读取您的输入并使用关键字给出答案。但是错误“TypeError:'in”要求字符串作为左操作数,而不是列表”不断出现,我似乎可以修复它

如果variableName是一个列表,您可以使用
。\uuuuu contains\uuuu()
检查成员身份


尝试将if语句更改为
if variableName.\uuu包含\uuuu(Up.lower):
如果variableName是一个列表,您可以使用
。\uu包含\uuu()
检查成员资格


尝试将if语句更改为
if variableName.\uuu包含
我认为您的
语句的逻辑是向后的。你应该检查一下

variableName=["display","screen","sound""audio"]
fileName=["PPP", "Abc"]
P1="PPP"
d="display"
s="screen"
ss="sound"
a="audio"
d=P1
loop=True
def CH(variableName, fileName, loop):
    while loop==True:
        Up=input("What is your problem?\n")
        if (variableName) in Up.lower():
            file = open(fileName + ".txt", "r")
            whole= file.read()
            print(whole)
            file.close()
            loop=False
        else:
            loop=True
            continue**

CH(variableName, fileName, loop)

而不是相反。

我认为您的
语句的逻辑是反向的。你应该检查一下

variableName=["display","screen","sound""audio"]
fileName=["PPP", "Abc"]
P1="PPP"
d="display"
s="screen"
ss="sound"
a="audio"
d=P1
loop=True
def CH(variableName, fileName, loop):
    while loop==True:
        Up=input("What is your problem?\n")
        if (variableName) in Up.lower():
            file = open(fileName + ".txt", "r")
            whole= file.read()
            print(whole)
            file.close()
            loop=False
        else:
            loop=True
            continue**

CH(variableName, fileName, loop)
反之亦然。

使用

if Up.lower() in variableName:
..测试字符串
Up.lower()
中是否存在
元组
(variableName)

由于
variableName
实际上是一个字符串列表,这取决于您试图实现的目标,因此您可能需要使用以下选项之一:

if (variableName) in Up.lower():
  • any()
    选项将返回
    True
    如果
    variableName
    中的
    s
    字符串
    Up.lower()
  • 如果
    variableName
    中的
    s
    字符串的
    all
    都在
    Up.lower()中,则
    all
    选项将返回
    True
使用

if Up.lower() in variableName:
..测试字符串
Up.lower()
中是否存在
元组
(variableName)

由于
variableName
实际上是一个字符串列表,这取决于您试图实现的目标,因此您可能需要使用以下选项之一:

if (variableName) in Up.lower():
  • any()
    选项将返回
    True
    如果
    variableName
    中的
    s
    字符串
    Up.lower()
  • 如果
    variableName
    中的
    s
    字符串的
    all
    都在
    Up.lower()中,则
    all
    选项将返回
    True
你希望Up.lower()中的
if(variableName):
做什么?你希望Up.lower()中的
if(variableName):
做什么?