我是python的新手,希望获得一些帮助。 我正在尝试编写一个程序,该程序检查是否允许使用某些选项,并且该选项会不断重复。我已经走了这么远:
menu=input("Enter options:")
def text():
x = 1
while x == 1:
request = input("Chosen option:")
print(request.lower() in menu.lower())
text()
,并且有效。我被问到可能的选项,我输入它们,然后它问我选择的选项,我输入它,如果它是其中之一,则返回“ True”,否则返回“ False”。但是,如果我什么也没输入,而只是按Enter,它也会返回“ True”,我不想发生这种情况。 有关如何解决此问题的任何建议? 预先感谢。I attached a picture of the code, it doesn't make a difference how I enter the options (spaces, commas, no gap, etc) i still get the same problem
答案 0 :(得分:0)
问题在于您如何定义menu
。 menu
在您的情况下是一个字符串(我怀疑您在python3上,在python2中,input()
做一些“魔术”,如将"3"
(字符串)转换为3
(整数))。如果您随后没有为request
提供任何输入,则您实际上将具有以下代码:
"" in "foo,bar"
每个字符串中都有空字符串""
,因此它始终位于您的选项字符串中。
您可以将选项转换为选项列表,而不必使用单个字符串:
>>> menu = input().split(",")
>>> print(menu)
['a', 'b', 'c']
假设您输入了a,b,c
。现在""
不在此列表中,因此可以解决您的问题。