擅长:python、mysql、java
<p><code>all_rank</code>不是一个生成随机秩的函数;它是一个随机选择的单个秩,是对<code>random.choice</code>调用的结果。(对于<code>all_suit</code>也是如此。)</p>
<p>然而,即使你每次打电话给<code>random.choice</code>和<code>random.randint</code>,你也有一个更大的问题:你不能保证你不会选择同一张牌两次。解决方案很简单:创建一副牌,然后使用<code>random.sample</code>从牌堆中挑选。在</p>
<pre><code># All 52 possible cards
deck = [Card(rank, suit) for rank in range(1,14) for suit in ['d', 'h', 'c', 's']]
hand = random.sample(deck, numCardsInHand)
</code></pre>
<p>若要选择多只手牌,请选择一只手牌,从牌堆中取出所选牌,然后再次取样。然而,这是更简单的只是洗牌和处理他们。在</p>
^{pr2}$