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
答
洗牌到位作品(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,它将在另一个实例中可见 –
'random.shuffle'回报没有。不要将其分配给'self.deck'。 –