擅长:python、mysql、java
<p>这条线:</p>
<pre><code>for plan in plants_d[plant]:
</code></pre>
<p>这是错误的。因为<code>plants_d[plant]</code>是一个类似于<code>"weekly"</code>的字符串,所以</p>
<pre><code>for plan in "weekly":
</code></pre>
<p>它将遍历字符串中的字母。当你做<code>if plan == "weekly":</code>时,它永远不会匹配,因为<code>plan</code>只是一个像<code>"w"</code>一样的字母。你知道吗</p>
<p>您可以简单地使用:</p>
<pre><code>if plants_d[plan] == "weekly":
</code></pre>
<p>或者可以将第一个循环更改为:</p>
<pre><code>for plan_name, plan_frequency in plants_d.items():
if plan_frequency == "weekly":
d.append[plan_name]
</code></pre>
<p>见<a href="https://stackoverflow.com/questions/3294889/iterating-over-dictionaries-using-for-loops-in-python">Iterating over dictionaries using 'for' loops</a></p>