好吧,也许这个话题已经在另一个证券交易所主题中直接或间接得到了解答,但我找不到,所以如果你确实找到了一个你认为有效的答案,请联系我那个帖子也是。
以下是我的代码:
while True:
example=input('Enter something')
if example=='Hi' or 'Bye':
print('Yay!')
else:
print('Something else.')
当example
未导致导致if
的{{1}}语句时,(True
我没有输入“嗨”{{ {1}}'再见if
},它无法or
example
语句,相反,它会print
返回问候语我的else
声明。为什么是这样?这被称为短路吗?最重要的是,我该如何解决这个问题?我想知道这一点,否则我将不得不另外制作print
语句,这需要更多的代码。
请尝试使用基本术语解释您的答案。顺便说一句,我使用的是Python 3.4.3。
答案 0 :(得分:2)
要添加上述内容,您还可以执行以下操作:
if example in ['Hi', 'Bye']:
如果列表更长,这会更实用。
答案 1 :(得分:1)
使用元组因为它们快速且便宜而可以创建小长度而不是列表:
if example in ('Hi', 'Bye'):
如果您打算在很多不同的选项上做一个大的比较(大于下面的例子!),那么使用set
作为一个集只能包含唯一的条目和为搜索更好地进行了优化:
if example in {'Hi', 'Bye', 'Hello', 'Goodbye', 'Adios', 'Bonjour'}:
关闭主题通常,文字输入可能包含意外情况。添加.lower()
并与小写字符串进行比较将避免...
if example.lower() in ('hi', 'bye'):