我是新来的,所以我很抱歉这不是问问题的好方法.
这是我的密码:
import random
i = 0
#the numbers of the cards
numbers = ["A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"]
#the suits of decks
suits = ["Spades","Hearts","Clubs","Diamonds"]
#empty list
used = []
#Generate random Number and Suit
while i != 5:
number = random.choice(numbers)
suit = random.choice(suits)
print (number+" of "+suit)
used.append(number + " of " + suit)
i += 1我试图实现的是让代码生成一系列的5张卡片(没有副本),然后打印那些.
但我不知道如何处理(和重复代码)重复的
我现在得到的是:
黑桃王,黑桃王,红桃皇后,红桃之王,黑桃王,红桃皇后,棒子A,红桃6
提前感谢!
发布于 2020-11-19 04:10:40
试试这个:
import itertools
import random
numbers = ["A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"]
#the suits of decks
suits = ["Spades","Hearts","Clubs","Diamonds"]
deck=list(itertools.product(numbers,suits))
random.shuffle(deck)
for i in range(5):
print( deck[i][0],'of' ,deck[i][1])发布于 2020-11-19 05:03:13
若要摆脱复制卡,请尝试按以下方式添加行:
# Generate random Number and Suit
while i != 5:
number = random.choice(numbers)
numbers.remove(number) ###
suit = random.choice(suits)
print(number + " of " + suit)
used.append(number + " of " + suit)
i += 1https://stackoverflow.com/questions/64905274
复制相似问题