无法将 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()
删除左侧的空格。
所以我正在尝试创建一个程序来接收客户对食物的选择。我希望用户能够以大写字母输入他们的选择,这样我就可以将其转换为小写字母,然后使用 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()
删除左侧的空格。