因此,我正在尝试创建一个程序,以接受客户选择的食物。我希望用户能够以大写字母输入他们的选择,以便随后将其转换为小写字母,然后使用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
编辑:问题似乎是因为我出于习惯在汉堡之前添加了一个空格:/,请注意,有什么办法可以解决这个问题?
答案 0 :(得分:0)
您可能想使用strip方法,该方法从字符串的开头和结尾删除空格。
更改
foodChoice = foodChoice.lower()
收件人
foodChoice = foodChoice.lower().strip()
更多信息可以在此answer中找到。
答案 1 :(得分:0)
看看您的输出,问题在于您在输入之前添加了一个空格,使该语句的计算结果为false。
为避免这种情况,我建议您使用strip
函数,从而删除字符串开头和结尾的空格。
因此,在您的情况下,它将是:
foodChoice = foodChoice.lower().strip()
此外,您可以使用rstrip()
仅删除字符串右侧的空白,而lstrip()
则删除左侧的空白。