如何将变量与集合进行比较(查看是否有重复项),如果有,我如何删除它们并重复该过程?
How to compare a variable with a set (to see if there are duplicates) and if there are, How do i remove them and repeat the process?
我是新来的,如果这不是一个很好的提问方式,我很抱歉...
这是我的代码:
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 张卡片(无重复),然后打印这些...
但我不知道如何摆脱(和重复代码)重复项
我目前得到的是:
黑桃K
黑桃K
红桃皇后
俱乐部的一个
红心 6
['King of Spades'、'King of Spades'、'Queen of Hearts'、'A of Clubs'、“红心 6”]
提前致谢!
试试这个:
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])
要消除重复的卡片,请尝试添加如下行:
# 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 += 1
我是新来的,如果这不是一个很好的提问方式,我很抱歉...
这是我的代码:
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 张卡片(无重复),然后打印这些...
但我不知道如何摆脱(和重复代码)重复项
我目前得到的是:
黑桃K 黑桃K 红桃皇后 俱乐部的一个 红心 6 ['King of Spades'、'King of Spades'、'Queen of Hearts'、'A of Clubs'、“红心 6”]
提前致谢!
试试这个:
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])
要消除重复的卡片,请尝试添加如下行:
# 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 += 1