擅长:python、mysql、java
<p>我不相信发布的代码是你的真实代码。在</p>
<pre><code>def lucky_sum(a, b, c):
results=0
if a != 13:
results= results + a
if b != 13:
results= results + b
if c != 13:
results= results + c
return results #<--- This would result in an error
</code></pre>
<p>但是,在正确缩进返回值的情况下,代码确实会独立于是否输入了前一个if语句体来计算每个if语句。正确地缩进,您确实可以从<code>lucky_sum(1, 13, 3)</code>中得到4个(请参见:<a href="http://ideone.com/FIvEnk" rel="nofollow">http://ideone.com/FIvEnk</a>)。在</p>
<p>但是,更好的方法是:</p>
^{pr2}$
<p>也可以使用语法<code>def lucky_sum(*some_args):</code>获取可变数量的参数。我把它留给你去弄清楚如何在函数中使用它。在</p>
<p>你的问题是你误解了你正在使用的教程网站:它要求你做与你所说的完全相反的事情,它想要你(错误地)说你的代码产生的结果,而不是你错误地认为它想要的结果。在</p>
<p>以下代码符合他们要求的规范:</p>
<pre><code>def lucky_sum(a, b, c):
acc = 0
for n in (a,b,c):
if n == 13: break
acc += n
return acc
</code></pre>