无法将python输入更新为小写

时间:2018-09-23 00:36:40

标签: python python-3.x if-statement 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语句仍然将其视为假...看下面的示例输出

你叫什么名字? Jason

您要汉堡还是沙拉? 汉堡

false

进程退出代码为0

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

2 个答案:

答案 0 :(得分:0)

您可能想使用strip方法,该方法从字符串的开头和结尾删除空格。

更改

foodChoice = foodChoice.lower()

收件人

foodChoice = foodChoice.lower().strip()

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

答案 1 :(得分:0)

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

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

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

foodChoice = foodChoice.lower().strip()

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