Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于继承的卡片拾取算法_Python_Python 2.7 - Fatal编程技术网

Python 基于继承的卡片拾取算法

Python 基于继承的卡片拾取算法,python,python-2.7,Python,Python 2.7,我只是在学习python,我编写了这段代码,让我可以创建一张卡片。这样,当我输入数字时,它会吐出卡片的名称 class Card(object): """ Represents a standard playing card.""" def __int__(self, suit=0, rank=2): self.suit = suit self.rank = rank suit_names = ['Clubs', 'Diamonds',

我只是在学习python,我编写了这段代码,让我可以创建一张卡片。这样,当我输入数字时,它会吐出卡片的名称

class Card(object):
    """ Represents a standard playing card."""

    def __int__(self, suit=0, rank=2):
        self.suit = suit
        self.rank = rank

    suit_names = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
    rank_names = [None, 'Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']

    def __str__(self):
        return '%s of %s' % (Card.rank_names[self.rank], Card.suit_names[self.suit])

# Here is the legend for the cards: Spades -> 3 Hearts -> 2 Diamonds -> 1 Clubs -> 0
# Jack -> 11  Queen -> 12  King -> 13

Card(2, 11)
现在输出应该是“红桃杰克”,因为杰克=11,黑桃=2

但是我得到了这个错误:

TypeError:object()不接受任何参数
[在0.0秒内完成,退出代码为1]

但是
Card
在第一行定义了object,所以我不知道我做错了什么

有什么建议吗

  • 正如Renae所注意到的,它是
    \uuuuu init\uuuuuu
    而不是
    \uuuu int\uuuuu
  • 当您实例化一个类时,执行的唯一代码是
    \uuuu init\uuuu
    中的代码,因此您不应该期望在屏幕上看到任何东西
  • 您在
    \uuuu str\uuuu
    中输入的代码是正确的,但它在两种情况下执行

    a。如果你直接调用它,
    Card(2,11)。\uu str\uuuu()

    b。当被
    print
    (语句或函数?)调用时,
    打印卡(2,11)

  • 所以像这样测试你的代码

    card = Cards(2,11)
    print card
    

    试试
    \uuuuu init\uuuuuu
    而不是
    \uuuu int\uuuuuuu
    这是
    \uuuuuuu init\uuuuuuu
    ,30'年前蕾妮告诉过你同样的事情