【发布时间】:2012-09-29 04:45:48
【问题描述】:
我在让它工作时遇到了一点麻烦,试图评估两个值并导致违反规则,但接受 N/A 作为值相等之外的唯一可接受值。
这是我目前所拥有的。
x = value1
y = value2
if x == "N/A" or x == y:
Rule.Violated = False
else:
Rule.Violated = True
Rule.Violated 是系统中的一个内置函数,我用来返回一条错误消息,如果违反规则为假,则不返回一条,我认为 if 语句的结果对弄清楚虽然逻辑,但如果您需要更多信息,请告诉我。
【问题讨论】:
-
那么到底是什么失败了?它接受的值比它应该接受的多,值更少?
-
您应该使用
raise来引发错误/异常,而不是将某些全局变量设置为True...此外,如果Rule.Violated是一个函数,您不应该调用它(而不是覆盖它的值)? -
对不起,我用错了词,不是函数。老实说,我什至无法告诉你 rule.violated 到底是什么,我只知道它在违反时会在我们的系统中引发错误。对不起,希望我有更多的信息。它失败了,因为它不会接受 N/A 作为使规则不违反的有效值。
-
反对票是怎么回事?解释
标签: python if-statement boolean logic