擅长:python、mysql、java
<p>你一直在给你的数字定义一个字符串,这使得它们不那么容易处理。最好是:</p>
<pre><code>guest={"Mary": 15, "Joe": 13, "Dustin": 12}
</code></pre>
<p>或者已经是浮动的:</p>
^{pr2}$
<p>您还使用了<code>float(sum(guest[value])</code>,它有两个主要问题:</p>
<ul>
<li><code>guest[value]</code>试图从字典中获取存储在<code>value</code>中的键的值。但是<code>value</code>不是键,它不能工作。在</li>
<li>只有字符串值,不能用<code>sum()</code>求和。在</li>
</ul>
<p>代码中还有许多其他问题,例如:</p>
<ul>
<li><code>for key,value in guest.items():</code>使键和它们的值可用作for块中的<code>key</code>和{<cd3>}。以后不需要索引<code>guest</code>。这意味着<code>guest[key]</code>与{<cd3>}相同。在</li>
<li><code>len(guest[key])</code>将返回<code>value</code>的长度,这是一个数字,并将返回<code>2</code>(所有数字字符串都有两个数字)。在</li>
</ul>
<p>要归档的内容可以更容易地完成:</p>
<pre><code>def calc_average(guest)
length = len(guest)
values = [float(value) for value in guest.values()]
return sum(values) / length
</code></pre>
<p>第一行是字典的长度。第二行从列表中提取所有值并将其转换为浮点值。这是一个列表理解。最后一行求和值并返回平均值。顺便说一句:我还将函数的名称调整为函数的常用Python命名约定。在</p>