我正在尝试弄清楚如何将t
,j
,q
和k
的值设为int
10
的值1}}。有人可以解释我在哪里出错吗?
class Card:
def __init__(self, value , suit):
self.value = value
self.suit = suit
def __repr__(self):
return "The " + self.value + " of " + self.suit
def intValue(self):
if int(self.value) > 2 or int(self.value) < 9:
return self.value
elif str(self.value) == 'a':
return 1
elif str(self.value) == 'j' or str(self.value) == 'q' or str(self.value) == 'k' or str(self.value) == 't':
return 10
答案 0 :(得分:0)
虽然我同意关于使用字典来表示值的评论,但让我们解决你所拥有的问题。这主要是为了保持简单并记住您的数据类型(str),而不是在不需要时随机强加str()
和int()
次呼叫:
class Card:
def __init__(self, value, suit):
self.value = value
self.suit = suit
def __repr__(self):
return "The {} of {}".format(self.value, self.suit)
def intValue(self):
if self.value.isdigit():
return int(self.value)
elif self.value == 'a':
return 1
else:
return 10