我正在构建一副具有洗牌功能的纸牌。我使用的是random.shuffle,但它根本不是随机的。当我运行以下代码时,整个打印板都打印得井井有条。请看一看,谢谢!
import random
class Card(object):
def __init__(self, suit, value):
self.suit = suit
self.value = value
def show(self):
print("{} of {}".format(self.value, self.suit))
return self.value
class Deck(object):
def __init__(self):
self.cards = []
self.build()
def build(self):
for s in ["Spades", "Clubs", "Diamonds", "Hearts"]:
for v in range(1, 14):
self.cards.append(Card(s, v))
print("{} of {}". format(v, s))
def show(self):
for cards in self.cards:
print(cards.show())
def shuffle(self):
random.shuffle(self.cards)
return self.cards
def draw_card(self):
return self.cards.pop()
deck = Deck()
deck.shuffle()发布于 2021-05-09 18:51:12
我刚刚测试了您的代码,您看到的顺序良好的控制台输出消息是从self.build()函数创建的,如果您在最后调用deck.show(),您将看到随机排列的消息。
deck = Deck()
deck.shuffle()
deck.show()https://stackoverflow.com/questions/67456795
复制相似问题