擅长:python、mysql、java
<p>此函数</p>
<pre><code>def checkIfDesc(self, person):
for family in self.marriages:
return families[family].famDescendant(person)
</code></pre>
<p>正如您所发现的,不会执行您想要的操作,因为如果<code>self</code>有多个婚姻,并且<code>person</code>不是第一个婚姻的后代,那么函数将返回<code>False</code>,而不检查其他婚姻。您可以这样做:</p>
<pre><code>def checkIfDesc(self, person):
return any(families[family].famDescendant(person) for family in self.marriages)
</code></pre>
<p>一旦找到后代,将停止检查</p>