如何复制列表中的项目?
How to duplicate items in a list?
刚开始学习 Python 作为第一个项目,我正在尝试创建一个 21 点游戏,其中一副牌有超过 1 副牌(副牌数由用户输入决定,其中:
suits = ["Clubs","Hearts","Diamonds","Spades"]
values = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]
class Card():
def __init__ (self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck():
def __init__(self):
self.cards=[]
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
class Shoes():
def __init__(self):
self.decknum = int(input("Enter the number of deck used in a shoes: "))
self.shoes = {}
for i in range(1, self.decknum+1):
self.shoes[str(i)] = [Deck()]
print(self.shoes)
理想情况下,我想要一个包含 6 张纸牌的列表并将其制作成鞋子 class 但我不知道如何复制我的纸牌列表中的项目并将其转换为 class.
例如:shoe = ['A spades', 'A spades', 'A spades', 'A spades', 'A spades', 'A spades', '2 spades', ... 'K hearts']
然后 class Shoes()
:
首先,我在 __init__
方法之外使用了 input
。我还使用默认值将 suits 和 values 参数设置为 Deck
和 Shoes
。这允许拥有只有红牌的特殊牌组,例如通过调用 Deck(suits=["Hearts", "Diamonds"])
.
Shoes
所采用的方法与您用于 Deck
的方法完全相同。
DEFAULT_SUITS = ("Clubs","Hearts","Diamonds","Spades")
DEFAULT_VALUES = ("A","2","3","4","5","6","7","8","9","10","J","Q","K")
class Card():
def __init__ (self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck():
def __init__(self, suits=DEFAULT_SUITS, values=DEFAULT_VALUES):
self.cards = []
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
class Shoes():
def __init__(self, decks, suits=DEFAULT_SUITS, values=DEFAULT_VALUES):
self.cards = []
for deck in range(decks):
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
shoe = Shoes(int(input("Enter the number of deck used in a shoes: ")))
shoe.show()
suits = ["Clubs", "Hearts", "Diamonds", "Spades"]
values = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
class Card:
def __init__(self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck:
def __init__(self):
self.cards = []
for suit in suits:
for value in values:
self.cards.append(Card(suit, value))
def show(self):
for card in self.cards:
card.show()
class Shoes:
def __init__(self):
self.decknum = int(input("Enter the number of deck used in a shoes: "))
self.shoes = []
for i in range(1, self.decknum + 1):
self.shoes += Deck().cards
self.shoes.sort(key=lambda x: x.value)
for card in self.shoes:
card.show()
s = Shoes()
刚开始学习 Python 作为第一个项目,我正在尝试创建一个 21 点游戏,其中一副牌有超过 1 副牌(副牌数由用户输入决定,其中:
suits = ["Clubs","Hearts","Diamonds","Spades"]
values = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]
class Card():
def __init__ (self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck():
def __init__(self):
self.cards=[]
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
class Shoes():
def __init__(self):
self.decknum = int(input("Enter the number of deck used in a shoes: "))
self.shoes = {}
for i in range(1, self.decknum+1):
self.shoes[str(i)] = [Deck()]
print(self.shoes)
理想情况下,我想要一个包含 6 张纸牌的列表并将其制作成鞋子 class 但我不知道如何复制我的纸牌列表中的项目并将其转换为 class.
例如:shoe = ['A spades', 'A spades', 'A spades', 'A spades', 'A spades', 'A spades', '2 spades', ... 'K hearts']
然后 class Shoes()
:
首先,我在 __init__
方法之外使用了 input
。我还使用默认值将 suits 和 values 参数设置为 Deck
和 Shoes
。这允许拥有只有红牌的特殊牌组,例如通过调用 Deck(suits=["Hearts", "Diamonds"])
.
Shoes
所采用的方法与您用于 Deck
的方法完全相同。
DEFAULT_SUITS = ("Clubs","Hearts","Diamonds","Spades")
DEFAULT_VALUES = ("A","2","3","4","5","6","7","8","9","10","J","Q","K")
class Card():
def __init__ (self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck():
def __init__(self, suits=DEFAULT_SUITS, values=DEFAULT_VALUES):
self.cards = []
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
class Shoes():
def __init__(self, decks, suits=DEFAULT_SUITS, values=DEFAULT_VALUES):
self.cards = []
for deck in range(decks):
for suit in suits:
for value in values:
self.cards.append(Card(suit,value))
def show(self):
for card in self.cards:
card.show()
shoe = Shoes(int(input("Enter the number of deck used in a shoes: ")))
shoe.show()
suits = ["Clubs", "Hearts", "Diamonds", "Spades"]
values = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
class Card:
def __init__(self, suit, value):
self.suit = suit
self.value = value
def show(self):
print(self.value, self.suit)
class Deck:
def __init__(self):
self.cards = []
for suit in suits:
for value in values:
self.cards.append(Card(suit, value))
def show(self):
for card in self.cards:
card.show()
class Shoes:
def __init__(self):
self.decknum = int(input("Enter the number of deck used in a shoes: "))
self.shoes = []
for i in range(1, self.decknum + 1):
self.shoes += Deck().cards
self.shoes.sort(key=lambda x: x.value)
for card in self.shoes:
card.show()
s = Shoes()