我正在制作一个GUI程序,用于显示GUI中文件的卡片图像。但是,我遇到了类型错误的问题。错误来自:
fileName = "DECK/" + str(self._rank) + self._suit() + ".gif"
-
class Card(object):
def __init__(self, rank, suit):
suit = ['s','h','d','c']
self._rank = random.randint(1,13)
self._suit = random.choice(suit)
def getRank(self):
return self._rank
def getSuit(self):
return self._suit
def GetCard(self):
fileName = "DECK/" + str(self._rank) + self._suit() + ".gif"
return fileName
任何帮助都表示对此代码有更多帮助,所以如果看到整个内容会有所帮助,请告诉我。
答案 0 :(得分:1)
正如西蒙所说,你正在调用函数而不是变量。我还要补充一点,你以小写字母开头定义getCard(为了保持一致性)
def getCard(self):
fileName = "DECK/" + str(self._rank) + self._suit + ".gif"
return fileName
答案 1 :(得分:0)
尝试使用:
self._suit
您收到错误,因为self._suit
不是函数(您无法调用它)。它是一个可变的,应该这样称呼它。
此外suit = ['s','h','d','c']
无效。它应该是:self.suit = ['s','h','d','c']
如果您愿意,可以将其称为函数:
def _suit(self, suit): return random.choice(suit)
你需要用以下方式调用:
_suit(self.suit)