擅长:python、mysql、java
<p>您可以在返回时使用三元表达式:</p>
<pre><code>def blackjack(a,b,c):
added = sum([a,b,c])
if added <= 21:
return added
elif added > 21 and 11 in [a,b,c]:
return (added-10) if (added-10 <= 21) else "BUST-11"
return "BUST"
print( blackjack(5,6,7) )
print( blackjack(9,9,9) )
print( blackjack(9,9,11) )
print( blackjack(10,11,11) )
</code></pre>
<p>输出:</p>
<pre><code>18
BUST
19
BUST-11
</code></pre>
<p>见<a href="https://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator">Does Python have a ternary conditional operator?</a></p>
<p>您仍然需要下降槽<code>"BUST"</code>(用于>;21 w/o 11)无论如何-因此<code>else</code>溶液更干净</p>