将可接受的值写入if状态

2024-09-30 01:18:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小麻烦让这个工作,试图评估两个值,并导致违反规则,但接受N/a作为唯一可接受的值以外的值相等。你知道吗

这是我到目前为止的情况。你知道吗

x = value1
y = value2  

if x == "N/A" or x == y: 
    Rule.Violated = False
else:
    Rule.Violated = True

你知道吗违反了规则是系统中的一个内置函数,我用它返回一个错误消息一个true,如果违反规则则不返回一个false,我不认为if语句的结果对理解逻辑很重要,但是如果您需要更多信息,请告诉我。你知道吗


Tags: or函数falsetrueif规则系统错误
3条回答

这就是你想要的吗?你知道吗

Rule.Violated = (x != y and x != "N/A")

我知道了,多亏了那些帮助过我的人。我的问题是关于数据类型,下次我有问题的时候一定要提到数据类型,但是对于那些好奇的人,这里是答案。你知道吗

必须使用开发人员告诉我的函数将字段作为字符串获取并比较字符串。以前我试着把日期时间比作一个字符串,这是我的愚蠢之举。FormSet也是我们系统中的一个内置引用,我试图避免使用纯python以外的任何东西来提问。你知道吗

x = FormSet.GetFieldString(CurrentForm, “SUM_VALUE_DATE”)
y = FormSet.GetFieldString(CurrentForm, “ORG_APPRAISAL_DATE”)

if x == “N/A” or FormSet.GetDaySpan(x, y) == 0:
            Rule.Violated = False
else:
            Rule.Violated = True

我可能会这样做:

if x not in ('N/A', y,):
    raise ValueError('my message')

使用异常处理是使用输入验证进行反编译的推荐的Pythonic方法。你知道吗

(另外,建议使用内置的异常类型,因为如果提供的异常类型覆盖整个stdlib,则不需要创建新的异常类型)

相关问题 更多 >

    热门问题