【问题标题】:Left Operend String Error左操作数字符串错误
【发布时间】:2017-08-17 20:38:59
【问题描述】:

一旦我尝试了一个简单的程序,就会显示以下消息: TypeError: 'in' 需要字符串作为左操作数,而不是元组 这就是脚本:

Answer = "Yeah", "Yes"
if Answer in input():
    print("Alright!")

一旦我按下运行并键入变量之一,该消息就会显示。在这种情况下,“是”或“是”。 我该怎么办? 是的,我是个菜鸟;)

【问题讨论】:

    标签: python string python-3.x input


    【解决方案1】:

    取决于你想做什么。

    如果您想查看用户的输入是否是元组的值之一,请在if 语句中切换顺序:

    Answer = "Yeah", "Yes"
    if input() in Answer:
        print("Alright!")
    

    如果您想查看用户的输入是否包含元组的值之一,那就有点复杂了。最好的方法是使用列表解析(或在本例中为 tuple)和内置的 any() 函数将结果集合转换为布尔值:

    Answer = "Yeah", "Yes"
    if any(word in input() for word in Answer):
        print("Alright!")
    

    【讨论】:

    • 但是如果你不放[ ],那么它是生成器推导而不是列表推导。
    【解决方案2】:

    @stybl 向您展示了如何解决您的问题,我会解释您的错误。

    Anwser = "Yeah", "Yes"
    

    在这一行中,您正在制作一个元组。元组就像一个列表,只是在创建后您不能修改它。

    前面的代码行可以这样写:

    Answer = ("Yeah", "Yes")
    

    在 Python 中,括号不是必需的,但这两行是相同的。 因此,检查字符串中是否存在元组(如果您愿意,可以是列表)是没有意义的。

    更多关于元组here

    【讨论】:

      猜你喜欢
      • 2020-02-28
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      相关资源
      最近更新 更多