【问题标题】:How to check that a string is equal to one of two strings in Python如何检查一个字符串是否等于 Python 中的两个字符串之一
【发布时间】:2022-06-19 00:25:33
【问题描述】:

这是我的代码:

print("What is your Name")
user_name = input("User Name: ")
print(f"Hello {user_name} please choose a dish and a drink from this menu : \n Fish \t Eggs \n Water \t Juice")
food = input("Please input your desired dish: ")
drink = input("Please input your desired drink: ")
if food != "Fish" or "Eggs":
  print("Please input a correct dish or drink")
else:
  print(f"{user_name} your desired drink is {drink} and your desired dish is {food}")

主要问题是最后一部分。我想说“如果食物不等于鱼或鸡蛋,则打印错误消息,但如果它打印成功消息”。但是,如果您复制代码并在最后跟随它,它总是会打印错误消息。

【问题讨论】:

    标签: python


    【解决方案1】:

    代码:

    print("What is your Name")
    user_name = input("User Name: ")
    print(f"Hello {user_name} please choose a dish and a drink from this menu : \n Fish \t Eggs \n Water \t Juice")
    food = input("Please input your desired dish: ")
    drink = input("Please input your desired drink: ")
    if food not in ("Fish","Eggs"):
      print("Please input a correct dish or drink")
    else:
      print(f"{user_name} your desired drink is {drink} and your desired dish is {food}")
    
    • 您必须写 if food !="Fish" and food !="Eggs":if food not in ("Fish","Eggs"):

    【讨论】:

      【解决方案2】:

      你可以if food not in ["Fish", "Eggs"]

      问题是,您正在评估food != "Fish""Eggs"。后者在布尔上下文中计算为True。因此,整个语句被评估为True

      【讨论】:

        【解决方案3】:
        if food != "Fish" or "Eggs":
        

        您的输入将始终使上述条件之一为真,因为您可以选择输入 Fish 或 Eggs,因此您需要使用 or 而不是 and 条件并明确检查这两个项目以满足您的条件.

        if food != "Fish" and food != "Eggs":
        

        【讨论】:

          【解决方案4】:

          试试这个

          def has(v):
              rtn=False
              for s in v:
                  if s==v:rtn=True
              return rtn
          

          函数has 将返回列表元组或数组是否具有以下字符串

          【讨论】:

            猜你喜欢
            • 2022-10-13
            • 1970-01-01
            • 1970-01-01
            • 2012-10-15
            • 2013-05-12
            • 1970-01-01
            • 2012-09-28
            • 1970-01-01
            • 2019-05-11
            相关资源
            最近更新 更多