我必须制定一个程序,询问人们是否素食,无素食或无麸质,然后使用该信息列出他们可以去的餐馆。我在使用if语句时遇到麻烦,因为该代码将执行,并且您可以对问题输入是或否,但不会打印您可以去的餐馆的选择。请帮忙。
y=True
n=False
vegetarian=input("Is anyone in your party vegetarian? (y/n)")
vegan=input("Is anyone in your party vegan? (y/n)")
glutenfree=input("Is anyone in your party gluten-free? (y/n)")
print("here are your restaurant choices")
if vegetarian==False and vegan==False and glutenfree==False:
print("Joe's Gourmet Burgers")
if vegetarian==True and vegan==False and glutenfree==True:
print("Main Street Pizaa Company")
if vegetarian==True and vegan==True and glutenfree==True:
print("Corner Cafe")
print("The Chef's Kitchen")
if vegetarian==True and vegan==False and glutenfree==False:
print("Mama's Fine Italian")
答案 0 :(得分:0)
键入y / n时,输入将返回该字符串,而不仅仅是True
或False
。您需要比较用户键入的y以获得布尔值。为了确保您同时接受大写和小写的y / n以及酸性的空格,请对输入进行剥离和小写。
您也不需要将变量与True或False比较,只需使用变量本身或not
运算符即可。最终代码:
vegetarian=input("Is anyone in your party vegetarian? (y/n)").strip().lower()=='y'
vegan=input("Is anyone in your party vegan? (y/n)").strip().lower()=='y'
glutenfree=input("Is anyone in your party gluten-free? (y/n)").strip().lower()=='y'
print("here are your restaurant choices")
if not vegetarian and not vegan and not glutenfree:
print("Joe's Gourmet Burgers")
if vegetarian and not vegan and glutenfree:
print("Main Street Pizaa Company")
if vegetarian and vegan and glutenfree:
print("Corner Cafe")
print("The Chef's Kitchen")
if vegetarian and not vegan and not glutenfree:
print("Mama's Fine Italian")
答案 1 :(得分:0)
input
函数返回字符串:
然后函数从输入中读取一行,并将其转换为字符串 (剥离尾随的换行符),然后返回。
变量vegetarian
,vegan
和glutenfree
将包含"y"
或"n"
字符串。但是,您将它们与布尔值True
和False
进行比较,因此所有这些条件都将失败。
一种解决方案是将它们与"y"
或"n"
进行比较。
vegetarian=input("Is anyone in your party vegetarian? (y/n)")
vegan=input("Is anyone in your party vegan? (y/n)")
glutenfree=input("Is anyone in your party gluten-free? (y/n)")
print("here are your restaurant choices")
if vegetarian=="n" and vegan=="n" and glutenfree=="n":
print("Joe's Gourmet Burgers")
if vegetarian=="y" and vegan=="n" and glutenfree=="y":
print("Main Street Pizaa Company")
if vegetarian=="y" and vegan=="y" and glutenfree=="y":
print("Corner Cafe")
print("The Chef's Kitchen")
if vegetarian=="y" and vegan=="n" and glutenfree=="n":
print("Mama's Fine Italian")