0

不确定如何问这个问题,所以请多多包涵。我有 6 个字段需要检查它们是否为空。我认为下面的代码可以完成这项工作,但事实并非如此。我不认为我理解代码以及它如何正常工作,并且在其他论坛/帖子/问题上找不到帮助。我不是在找人来解决这个问题(想学习而不是仅仅得到答案)但是如果有人知道我可以在哪里阅读这种 if 语句,我将不胜感激。我找到了一些关于从中创建列表然后检查列表是否为空的信息,但是我无法弄清楚在这种情况下如何工作。同样,不确定我是否正确地提出了问题或提供了足够的信息,所以请询问您是否需要更多信息。

if FormSet.IsEmpty(CurrentForm, "ADD_COMP1_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP2_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP3_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP4_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP5_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP6_ADDRESS"):
    Rule.Violated = True
   else:
    Rule.Violated = False

总而言之,我需要检查 6 个字段,如果它们和其中的一个为空,我需要违反规则。如果填写了这些字段中的任何一个,则不应违反规则。

4

1 回答 1

0

所以我想我对这些东西真的很陌生,我需要做的就是修复“else:”上的缩进应该与“if”处于相同的缩进级别

if FormSet.IsEmpty(CurrentForm, "ADD_COMP1_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP2_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP3_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP4_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP5_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP6_ADDRESS"):
    Rule.Violated = True
else:
    Rule.Violated = False
于 2012-09-25T21:55:22.193 回答