擅长:python、mysql、java
<ol>
<li><p><code>{}</code>是空的dict。空集是<code>set()</code></p>
</li>
<li><p>对于提取功能,应该这样做:</p>
<pre><code> def withdraw(self, amount, description):
balance = sum(transaction["amount"] for transaction in self.ledger)
if balance >= withdrawal :
self.ledger.append({"amount": -amount, "description": description})
return True
else :
return False
return self.ledger
</code></pre>
</li>
</ol>
<p>这将使用生成器作为内置和函数的参数。如果您刚刚开始使用python,这可能有点高级,因此您还可以使用更为初学者友好的代码来计算平衡:</p>
<pre><code> balance = 0
for transaction in ledger:
balance = balance + transaction["amount"]
# you can shorten the line above to
# balance += transaction["amount"]
</code></pre>
<p>这大致相当于<code>sum</code>和生成器语法的作用</p>
<p>出于好奇,您的<code>deposit</code>函数中<code>description</code>参数前面的<code>*</code>是一个输入错误吗</p>