擅长:python、mysql、java
<p><code>ball()</code>的返回值是一个值—一个元组。你知道吗</p>
<p>当您调用<code>"...".format(ball(100))</code>时,您将单个值传递给最终需要两个值的函数。你知道吗</p>
<p>当您调用<code>"..." % ball(100)</code>时,您正在向<code>%</code>操作符提供一个元组,它需要一个元组!你知道吗</p>
<p>毫不奇怪,它在第二种情况下有效,在第一种情况下失败。你知道吗</p>
<p>尝试使用<strong>splat</strong>操作符将元组展平到<code>.format</code>调用的参数中,或者尝试自己展开元组,或者尝试在<code>.format</code>调用中使用命名参数访问:</p>
<pre><code>ball100 = ball(100)
"py ball: {}, u ball: {}".format(*ball100) # splat! Flatten the tuple
"py ball: {}, u ball: {}".format(ball100[0], ball100[1]) # DIY
"py ball: {ball[0]}, u ball: {ball[1]}".format(ball=ball100) # named arg
</code></pre>