2024-06-16 13:17:27 发布
网友
我试图检查“GIN”或“NOT READY”或“to BE about or NEEDS RESUBMISSION”是否等于retrunVal,我注意到对于任何returnVal,如果“loop”正在获取,“INSIDE”正在打印,我怀疑语法不对,有人能提供输入吗?你知道吗
if ('GIN' or 'NOT READY' or 'TO BE ABANDON OR NEEDS RESUBMISSION' == returnVal): print "INSIDE"
像这样:
if returnValue in ('GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION'): print 'INSIDE'
这是标准习惯用法-使用in操作符测试元组中所有可能值的成员身份。比一堆or的挫败要干净得多。你知道吗
in
or
这是一种方法:
if (returnVal == 'GIN') or (returnVal == 'NOT READY') or returnVal == '...':
尽管一个更具python风格的更好方法是使用in:
if returnVal in ['GIN', 'NOT READY', '...']:
换言之(对于第一种情况),使用分离条件并将它们or在一起。你知道吗
之所以总是看到INSIDE,是因为'GIN'在条件的上下文中被有效地视为true值:
INSIDE
'GIN'
true
>>> if 'GIN': ... print "yes" ... yes
而true or <anything>就是true。你知道吗
true or <anything>
从逻辑上讲,您的代码如下所示:
if 'GIN' exists or if 'NOT READY' exists or if 'TO BE ABANDON OR NEEDS RESUBMISSION' is equal to retVal do something
阅读这篇link关于python中真值的文章(这也与paxdiablo的答案有关)。你知道吗
更好的方法是使用python的“in”语句:
if retVal in ['GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION']: do something
像这样:
这是标准习惯用法-使用
in
操作符测试元组中所有可能值的成员身份。比一堆or
的挫败要干净得多。你知道吗这是一种方法:
尽管一个更具python风格的更好方法是使用
in
:换言之(对于第一种情况),使用分离条件并将它们
or
在一起。你知道吗之所以总是看到
INSIDE
,是因为'GIN'
在条件的上下文中被有效地视为true
值:而
true or <anything>
就是true
。你知道吗从逻辑上讲,您的代码如下所示:
阅读这篇link关于python中真值的文章(这也与paxdiablo的答案有关)。你知道吗
更好的方法是使用python的“in”语句:
相关问题 更多 >
编程相关推荐