Python 2.7 python随机数错误(21点游戏)

Python 2.7 python随机数错误(21点游戏),python-2.7,blackjack,Python 2.7,Blackjack,当我运行代码时,第一次打印出数据组,但第二次打印“无”。我假设甲板列表由于某种原因被覆盖,但无法找出原因。任何帮助都将不胜感激 class Deck(object): def __init__(self,deck=['2c','3c','4c','5c','6c','7c','8c','9c','tc','jc','qc','kc','ac','2d','3d','4d','5d','6d','7d','8d','9d','td','jd','qd','kd','ad','2h','3h',

当我运行代码时,第一次打印出数据组,但第二次打印“无”。我假设甲板列表由于某种原因被覆盖,但无法找出原因。任何帮助都将不胜感激

class Deck(object):
  def __init__(self,deck=['2c','3c','4c','5c','6c','7c','8c','9c','tc','jc','qc','kc','ac','2d','3d','4d','5d','6d','7d','8d','9d','td','jd','qd','kd','ad','2h','3h','4h','5h','6h','7h','8h','9h','th','jh','qh','kh','ah','2s','3s','4s','5s','6s','7s','8s','9s','ts','js','qs','ks','as']):
      self.deck=deck

  def shuffle_cards(self):
      self.deck=random.shuffle(self.deck)

l=Deck()
print l.deck
l.shuffle_cards()
print l.deck
洗牌到位()

将起作用,而不是

self.deck=random.shuffle(self.deck)

顺便说一句:可变默认参数值不是完美的

random。shuffle
返回无。不要将其分配给
self.deck
。谢谢!你是说我应该给我们一个元组?这会带来什么好处呢?如果你制作了两个Deck实例,并且在其中一个实例中,你在self.Deck中附加了某个内容,那么它将在另一个实例中可见
self.deck=random.shuffle(self.deck)