对象没有属性'split()' Python

最后发布: 2020-08-03


问题

我遇到了一个错误,我试图从一个字符串中获取第一个工作,该字符串被传递到一个类中的方法。但我得到AttributeError:'Deck'对象没有属性'split',当我运行时。传入的'new_card'将是例如'Two of Hearts',new_Card是一个字符串,self.values是一个字典。

# returns integer value of a card
def get_card_value(self, new_card):
    return self.values[new_card.split()[0]]

和错误。

回溯(最近一次调用)。 文件 "homeandypalingDocumentsProgrammingpythonrandomcard_gamegame.py", 第146行, in if not Game.check_same_cards(player1_deck, player2_card): 文件 "homeandypalingDocumentsProgrammingpythonrandomcard_gamegame.py", 第87行, in check_same_cards if card1.get_card_value(card1) == card2.get_card_value(card2): 文件 "homeandypalingDocumentsProgrammingpythonrandomcard_gamegame.py", 第40行, in get_card_value split_string = new_card.split(' ')

多谢

python python-3.x class oop split
回答

嘿,看来你使用的是不同的数据类型,而不是字符串,在你的情况下,我猜你使用的是一个元组。尝试将数据转换为字符串,然后使用.split()函数将其分割。

我希望这能帮助你。