擅长:python、mysql、java
<p>函数<code>chickenpox_by_sex()</code>不返回任何长度为2的内容。事实上,它返回<code>None</code>。这相当于:</p>
<pre><code>>>> assert len(None)==2, "Return a dictionary with two items, the first for males and the second for females."
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'NoneType' has no len()
</code></pre>
<p>它甚至在测试断言之前就失败了</p>
<p>我认为您应该从函数返回字典:</p>
<pre><code>result = {"male" : m_flu/m_noflu, "female" : f_flu/f_noflu}
print(result)
return result
</code></pre>
<p>如果要在从函数返回之前打印它。或者您可以简单地返回一个dict:</p>
<pre><code>return {"male" : m_flu/m_noflu, "female" : f_flu/f_noflu}
</code></pre>
<p>然后:</p>
<pre><code>>>> assert len({"male" : 1, "female" : 2})==2
</code></pre>
<p>会过去的</p>