擅长:python、mysql、java
<p>您可能试图在<code>Deck</code>对象上使用<code>len</code>函数,而不是在<code>Deck</code>对象的实例变量<code>deck</code>上使用它。如果<code>d</code>是类<code>Deck</code>的实例,则应该调用<code>len(d.deck)</code>,或者更好地为<code>self.deck</code>实现一个getter方法,并使用类似<code>len(d.get_deck())</code>。在</p>
<p>操作后编辑编辑:</p>
<p>您试图对<code>Deck</code>对象本身调用<code>shuffle</code>,而不是存储在<code>Deck</code>对象中的<code>list</code><code>deck</code>。混淆的部分原因可能是您决定将类命名为<code>Deck</code>及其实例变量<code>deck</code>。如果需要<code>list</code><code>deck</code>,则需要在<code>deal</code>函数中发出{<cd19>}。在</p>
<p>根据评论进行编辑:</p>
<p>当然,您不能在<code>list</code><code>deck</code>上调用<code>deal_card</code>。你能做到的</p>
<pre><code>def deal():
deckObject = Deck()
deckList = deckObject.deck
player = Hand()
dealer = Hand()
random.shuffle(deckList)
player.add_card(deckObject.deal_card())
player.add_card(deckObject.deal_card())
dealer.add_card(deckObject.deal_card())
dealer.add_card(deckObject.deal_card())
prompt()
</code></pre>
<p>这个符号应该清楚地表明这里的<code>Deck</code>对象是什么,<code>deck</code><code>list</code>。在</p>