无法将 python 输入更新为小写

Having trouble updating python input into lowercase

所以我正在尝试创建一个程序来接收客户对食物的选择。我希望用户能够以大写字母输入他们的选择,这样我就可以将其转换为小写字母,然后使用 if 语句

进行比较
Name = str(input("What is your Name?"))
Name = ''.join(Name.split())
foodChoice = str(input("Would you like a Burger or Salad?"))
foodChoice = foodChoice.lower()

if foodChoice == 'burger':
    print("true")
else:
    print("false")

让我们假设客户输入 "BurgER"

我遇到的问题是,即使我在声明输入后将 "BurgER" 转换为小写,if 语句仍然将其视为 false...请查看下面的示例输出

你叫什么名字? 贾森

您要汉堡还是沙拉? 汉堡

进程已完成,退出代码为 0

编辑:问题似乎是因为我出于习惯在汉堡前添加了一个 space :/,请注意,有什么办法可以解决这个问题吗?

您可能需要使用去除字符串开头和结尾空格的 strip 方法。

改变

foodChoice = foodChoice.lower()

foodChoice = foodChoice.lower().strip()

可以在 answer 中找到更多信息。

查看您的输出,问题是您在输入之前添加了一个空格,这使得语句的计算结果为 false。

为避免这种情况,我建议您使用 strip 函数,从而删除字符串开头和结尾的空格。

因此,在您的情况下,它将是:

foodChoice = foodChoice.lower().strip()

此外,您可以使用 rstrip() 仅删除字符串右侧的空格,使用 lstrip() 删除左侧的空格。