ТАК, я собираюсь сделать ненормальную колоду карт.Каждая карта будет иметь цвет (красный, зеленый, синий), степень (1,2,3), символ (треугольник, квадрат, круг) и число. (1,2,3) У меня есть класс, который выглядиткак это.
class card:
def __init__(self, color, degree, symbol, number):
self.color=color
self.degree=degree
self.symbol=symbol
self.number=number
def __repr__(self):
return "(%s,%s,%s,%s)" %(self.color,self.degree,self.symbol,self.number)
У меня также есть эти списки со всеми переменными и колода карт, где я хочу карты.
colors=["red", "green", "blue"]
degrees=["1","2","3"]
symbols=["triangle", "square", "circle"]
numbers=["1","2","3"]
deck=[]
Теперь я хочу создать полную колоду с каждой возможной картой.Желательно, чтобы они были в случайном порядке, но это не обязательно.Я знаю, что если бы это было просто число и цвет, я мог бы легко сделать это таким образом.
deck = [card(value, color) for value in range(0, 2) for color in colors]
Но я не могу понять, как сделать это, когда я также буду использовать символ и степень.Я пытался просто использовать больше операторов if, чтобы все зациклить, но это не сработало.Я также не хочу, чтобы одна и та же карта появлялась дважды, и я не хочу, чтобы карта, которая не соответствует правилам класса, должна отображаться как [цвет, степень, символ, число]
У кого-нибудь есть идея, гдепойти с этим?