不区分大小写的用户输入


pizza = str(input('Which size pizza do you want: S/M/L/XL?'))
while pizza != "S/M/L/XL":
print(" That is not a valid answer")
pizza = "S/M/L/XL"
pizza = str(input("Which size pizza do you want: S/M/L/XL?"))

这就是我所拥有的,但它的剂量工作

pizza = str(input('Which size pizza do you want: S/M/L/XL?'))
while pizza != "S" and pizza != "M" and pizza!="L" and pizza!="XL"and pizza!="s"and pizza!="m"and pizza!="l"and pizza!="xl":
print(" That is not a valid answer")
pizza = str(input("Which size pizza do you want: S/M/L/XL?"))
print(pizza.upper())

这就是你想要的吗?

将允许的字符列表设置为一个集合,并检查输入是否在该集合中。此外,强制输入大写字符,这样用户就不必担心了

此外,输入中有str是多余的,默认情况下input会返回一个字符串。

pizza = input('Which size pizza do you want: S/M/L/XL?').upper()
while pizza not in ('S','M','L','XL'):
print(" That is not a valid answer")
pizza = input("Which size pizza do you want: S/M/L/XL?").upper()

试试这个。我为一个函数编写了代码。

def asking():
pizza = str(input('Which size pizza do you want: S/M/L/XL? ')).upper()
if pizza != 'S' and pizza != 'M' and pizza != 'L' and pizza != 'XL':
print('That is not a valid answer!')
asking()
else:
print('Okay, your pizza's size will be: {}'.format(pizza))
asking()

我建议您不要重复使用变量名。它将帮助你真正"命名"事物。"pizza"是变量的最佳名称吗?"大小"或"订单"如何?这将帮助您更容易地发现错误。让我们重命名这些变量。

size_of_pizza = str(input('Which size pizza do you want: S/M/L/XL?'))
while size_of_pizza != "S/M/L/XL":
print(" That is not a valid answer")
pizza = "S/M/L/XL"  # See? Here you're manipulating the value of 'pizza' inside a 'while' loop. That's not advised, you can remove this line
size_of_pizza = str(input("Which size pizza do you want: S/M/L/XL?"))

让我们去掉那条线。我们最终得到:

size_of_pizza = str(input('Which size pizza do you want: S/M/L/XL?'))
while size_of_pizza != "S/M/L/XL":
print(" That is not a valid answer")
size_of_pizza = str(input("Which size pizza do you want: S/M/L/XL?"))

哦,但请注意,你在问披萨的尺寸"S/M/L/XL";。这是不对的!你有几个正确的答案,所以你要么需要几个if子句,要么需要某种类型的列表或迭代器。这个怎么样。。。

size_of_pizza = str(input('Which size pizza do you want: S/M/L/XL?'))
while size_of_pizza not in ["S","M","L","XL"]:
print("That is not a valid answer")
size_of_pizza = str(input("Which size pizza do you want: S/M/L/XL?"))

好多了!但是你还有工作要做!让我问你:

  • 如果用户输入一个数字会发生什么(你可能已经想到了,但你应该知道这个决定!(
  • size_of_pizza应该总是被强制变成字符串吗

祝你好运!

相关内容

最新更新