from random import shuffle class Card: #initialize card attribute(s) def __init__(self, suit, value): self.suit = suit self.value = value def __repr__(self): return "{} of {}".format(self.value, self.suit) class Deck: #initialize deck attribute(s) def __init__(self): suits = ['Hearts','Diamonds','Clubs','Spades'] values = ['A','2','3','4','5','6','7','8','9','10','J','Q','K'] self.cards = [Card(suit, value) for suit in suits for value in values] #Return the number of cards remaining on deck def __repr__(self): return "Cards remaining in deck: {}".format(len(self.cards)) #Return shuffled deck using shuffle function from the random library def shuffle(self): shuffle(self.cards) return self #The deal method passes an integer as an argument which specifies the #number of cards to be dealt. Make sure you print out the dealt card(s) def deal(self, x): if len(self.cards) == 0: print("No cards left") else: for i in range(x): return self.cards.pop()