在检查变量是否为真或假后,我无法打印消息。我要做的是打印出一系列变量中为真的变量。一定有比下面更简单的方法,但这是我能想到的。我需要一个更好的解决方案或修改下面的工作。在
这是我的代码:
if (quirk) and not (minor, creator, nature):
print (quirk, item)
elif (minor) and not (quirk, creator, nature):
print (minor, item)
elif (creator) and not (minor, quirk, nature):
print (creator, item)
elif (nature) and not (minor, quirk, creator):
print (item, nature)
else:
print ("Something went wrong! Properties out of range! Nature =",nature,"Quirk =",quirk,"Minor =",minor,"Creator =",creator)
在这种情况下,我总是得到错误,从来没有任何指纹。错误总是显示其中一个变量是真的。在
提前谢谢你!在
你正在检查一个非空元组是否是falsish-这永远不是真的。请改用^{} 。在
any([minor, creator, nature])
如果集合中有任何元素是True
,则返回{是元组。它总是在布尔上下文中求值为}的值。在
True
,而不管minor
、creator
和{这是documentation for Truth Value Testing要说的:
您的非空序列属于“所有其他值”类别,因此被认为是真的。在
要使用纯Python逻辑表示条件,需要编写:
^{pr2}$正如@volatile指出的,
any()
实用函数可以用来简化代码并使其读得更清楚。在any
在这里感觉太过分了:相关问题 更多 >
编程相关推荐