到目前为止,我得出的结论是:
import time
from random import randint
Suits = [
["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"], #hearts
["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"], #clubs
["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"], #spades
["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"] #diamonds
]
for x in range(0,52):
#selection of random card and suit
Suit = randint(0,3)
Card = randint(0,12)
# prints what card was received from the deck
if Suit == 0:
print("You got a", Suits[0][Card], "of Hearts")
elif Suit == 1:
print("You got a", Suits[1][Card], "of Clubs")
elif Suit == 2:
print("You got a", Suits[2][Card], "of Spades")
else:
print("You got a", Suits[3][Card], "of Diamonds")
这允许我从一副牌中随机生成一张牌53次,但最终我得到了重复的。我该怎么避免呢?在
或者,使用集合:
^{pr2}$如果不需要二维数组,可以更简单地执行此操作。如果您只是有一个简单的列表,那么可以使用Python的random库轻松完成此操作:
列表理解用于将} 随机化卡片列表,这样您就可以从列表的末尾迭代/拉出卡片。在
cards
设置为具有套装和等级组合的元组。然后使用^{使用记忆助手将值放入一个集合中,然后如果值在集合中,它将不会添加它,并选择另一个随机卡,直到所有52张卡都在选择列表中。从而处理任何重复
你能做到的
^{pr2}$这将返回一个排序的列表,以便于视觉确认
相关问题 更多 >
编程相关推荐