python中repeat_Python中的Repeat类方法

我想重复一个类方法几次(准确地说是26),这样我就可以把一副牌分成两个独立的牌组。除了d1=Deck()然后deck1 = d1.deal()*26之外,我尝试了[:26]和[26:](显然只用于列表),但它们都不起作用。我刚刚学会了如何创建类。在

期望的输出是deck1=["""26 random cards"""]和deck2=["""26 random cards"""]。在

相关代码:import random

suits = ['H','C','S','D']

ranks = ['A']+list(map(str,range(2,10)))+['X','J','Q','K']

values = [14]+list(range(2,14))

class Card:

def __init__(self,suit,rank):

self.suit=suit

self.rank=rank

self.value=values[ranks.index(self.rank)]

def __str__(self):

return "*------*\n|{0}{1} |\n| |\n| {0}{1}|\n*------*".format(self.rank,self.suit)

def __gt__(self,other):

return self.value > other.value

def __lt__(self,other):

return self.value < other.value

def __eq__(self,other):

return self.value == other.value

class Deck:

"""This class is for creating deck"""

def __init__(self):

self.deck=[]

for suit in suits:

for rank in ranks:

self.deck.append(Card(suit,rank))

self.shuffle()

def __str__ (self):

tmp=''

for card in self.deck:

tmp+=str(card)+'\n'

return tmp

def shuffle(self):

random.shuffle(self.deck)

def deal(self):

return self.deck.pop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值