擅长:python、mysql、java
<p>无论何时调用函数,函数体都会立即执行。
因此,当调用<code>add = ink(1, 59)</code>时,执行<code>ink</code>函数体,其中包含<code>print</code>语句。
因此它打印出<code>"Here is some math:"</code>。你知道吗</p>
<p>函数体到达<code>return</code>语句后,函数的执行将结束,<code>return</code>语句将值返回到调用函数的位置。
所以当你这么做的时候:</p>
<pre><code>add = ink(1, 59)
</code></pre>
<p><code>result</code>由<code>ink(1, 59)</code>返回,然后存储到<code>add</code>,但是<code>result</code>尚未打印。你知道吗</p>
<p>然后对其他变量重复相同的操作(<code>fad</code>和<code>bad</code>),这就是为什么在看到任何数字之前要打印<code>"Here is some math:"</code>三次。
只有在以后,才可以使用以下方法打印实际结果:</p>
<pre><code>print add
print fad
print bad
</code></pre>
<hr/>
<p>您应该做的是让函数只计算结果:</p>
<pre><code>def ink(a, b):
return a + b
</code></pre>
<p>通常,您需要在函数之外(或在主函数中)进行打印和输入:</p>
<pre><code>add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print "Here's some math:", add
print "Here's some math:", fad
print "Here's some math:", bad
</code></pre>
<p>尽管重复的代码通常被认为是不好的,所以您可以在这里使用<code>for</code>循环(如果您不知道for循环是如何工作的,您应该更多地了解它们):</p>
<pre><code>for result in (add, fad, bad):
print "Here's some math:", result
</code></pre>