正确使用布尔值" in"关键字python?

时间:2017-11-04 10:15:17

标签: python-3.x

menu = "salad, pasta, sandwich, pizza, drinks, dessert"  
menu_ask=input("enter ur choice ")  
type(menu_ask)  
---> print("ur choice is", menu_ask.lower in menu.lower)  

输出:

TypeError                                   
<ipython-input-13-77eee724331c> in module ()  
      2 menu_ask=input("enter ur choice ")  
      3 type(menu_ask)  
----> 4 print("ur choice is", menu_ask.lower in menu.lower)  
  

TypeError:类型&#39; builtin_function_or_method&#39;的参数不是   可迭代

2 个答案:

答案 0 :(得分:0)

“in”是一个运算符,它将返回True of False

例如

if menu_ask.lower() in menu:
    print("Your choice is in the menu. You can have " + menu_ask)

请参阅https://www.tutorialspoint.com/python/membership_operators_example.htm

答案 1 :(得分:0)

不确定你想在那里做什么,但如果你想要字符串小写,你必须调用lower()而不是lower。然后它会起作用但它确实没有意义,因为你正在打印“你的选择是真/假”。

这可能是你想要的:

menu = "salad, pasta, sandwich, pizza, drinks, dessert"
menu_ask=input("enter ur choice ").lower()

if menu_ask in menu:
    print("Your selected menu is available: ", menu_ask)
else:
    print("Unfortunately we don't offer ", menu_ask)

在此测试:https://repl.it/Njpi/0