二十一点Python

时间:2016-04-15 04:02:59

标签: python class

我正在尝试弄清楚如何将tjqk的值设为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

1 个答案:

答案 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