Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 3.x 21点课程_Python 3.x_Class_Blackjack - Fatal编程技术网

Python 3.x 21点课程

Python 3.x 21点课程,python-3.x,class,blackjack,Python 3.x,Class,Blackjack,我没有收到错误,但无法使我的类正常运行。 我试图让Card类打印“两颗心”,但运行时却一无所获。在测试我的deck类时,我得到了,我想不起该如何纠正 import random suits = ['spades', 'hearts', 'clubs', 'diamonds'] ranks = ['two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'jack', 'queen', 'king', 'ac

我没有收到错误,但无法使我的类正常运行。 我试图让Card类打印“两颗心”,但运行时却一无所获。在测试我的deck类时,我得到了
,我想不起该如何纠正

import random


suits = ['spades', 'hearts', 'clubs', 'diamonds']
ranks = ['two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'jack', 'queen', 'king', 'ace']
values = {'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, 'ten': 10, 'jack': 10, 'queen': 10, 'king': 10, 'ace': 11}

playing = True

class Card:
    def __init__(self, value, suit):
        self.value = value
        self.suit = suit

    def show(self):
        print("{} of {}".format(self.value, self.suit))

            

card_picked = Card('two', 'hearts')

class Deck:
    def __init__(self):
       self.cards = []
       self.build()

    def build(self):
        for i in values:
            for s in suits:
                self.cards.append(Card(i, s))

    def show(self):
        for c in self.cards:
            c.show()

    def shuffle(self):
        random.shuffle(self.cards)

    def deal(self):
        single_card = self.cards.pop()
        return single_card

deck = Deck()
print(deck)
提前感谢您提供的任何帮助

print()访问类的_str__方法(如果该方法存在)

您可以为您的卡类定义它:

class Card:
    
    [...]
    def __str__(self):
        return "{} of {}".format(self.value, self.suit)
对于整个牌组,您可以获得该牌组中每张牌的_str_______方法:

class Deck:

    [...]

    def __str__(self):
        return '\n'.join([c.__str__() for c in self.cards])
您的代码运行良好

deck = Deck()
deck.shuffle()
card = deck.deal()
card.show()
我得到输出:

six of hearts
您需要实现该方法,并在每次打印该类的实例时显示您想要显示的内容。