python随机数字错误(二十一点游戏)

问题描述:

当我运行代码时,第一次打印出套牌,但第二次打印“无”。我认为甲板名单由于某种原因被覆盖,但不知道为什么。任何帮助,将不胜感激。python随机数字错误(二十一点游戏)

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 
+1

'random.shuffle'回报没有。不要将其分配给'self.deck'。 –

洗牌到位作品(https://docs.python.org/2/library/random.html#random.shuffle

random.shuffle(self.deck) 

会工作,而不是

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

BTW:可变默认参数值是不完美的

+0

谢谢!你是在说我应该给我们一个元组吗?这会带来什么好处? – MintDrop

+0

如果您创建了两个Deck实例,并且在其中一个实例中,您将自己附加到self.deck,它将在另一个实例中可见 –