在任务中,我试图创建一个纸牌对象。输出类似于['A of Hearts,'A of Diamonds','A of Clubs,...],而我想要的是将输出转换为列表并获取列表的长度。
从类创建实例后,我尝试获取输出的类型,并返回<class '__main__.Card'>
。
我试图通过以下方式将应为字符串的输出转换为列表:
分割输出字符串
直接使用list()函数
class Card:
def __init__(self):
self.suit = ["Hearts","Diamonds","Clubs","Spades"]
self.value = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
self.cards = []
for x in self.value:
y = x + " of"
for z in self.suit :
aa = y + " " + z
self.cards.append(aa)
def __repr__(self):
return str(self.cards)
cards1 = Card()
当我使用第一个函数时,它返回错误 “卡”对象没有属性“拆分”
当我使用第二个函数时,它返回错误“ Card”对象不可迭代
在这种情况下,我该怎么办? 非常感谢
答案 0 :(得分:1)
如果您只想获取字符串形式的输出,请使用f
字符串或带格式的字符串:
str1 = f"test1: {cards1}"
str2 = "test2: {}".format(cards1)
答案 1 :(得分:1)
该类的结构不好,但是可以工作。您将要返回一个对象,该对象应具有返回字符串/列表的方法,或者您必须直接按照以下方法获取列表。
str1 = ''.join(cards1.cards)