# g_deck_of_cards.py ''' title: Creating a deck of cards author: Michael Tang date-created: 2021-05-12 ''' ''' ACE_DIAMONDS = "Ace of Diamonds" ACE_DIAMONDS = ("Ace", "Diamonds") ACE_DIAMONDS = (1, 1) Abstraction to integers - use more effectively. ''' from random import randrange def makeDeck(): ''' create a 2D array representing a deck of cards. :return: (list) ''' CARDS = [] for VALUE in range(1,14): for SUIT in range(1,5): CARDS.append((VALUE, SUIT)) return CARDS def drawCard(DECK): ''' draw a card from the deck :param DECK: (list) of cards :return (list) card, (list) deck of cards ''' CARD = DECK.pop(randrange(len(DECK))) return CARD, DECK def displCard(CARD): ''' displays a single card :param CARD: (tuple) card :return: (none) ''' VALUE = { 1: "Ace", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "Jack", 12: "Queen", 13: "King" } SUIT = { 1: "Diamonds", 2: "Clubs", 3: "Hearts", 4: "Spades" } print(f"{VALUE[CARD[0]]} of {SUIT[CARD[1]]}") if __name__ == "__main__": DECK = makeDeck() CARD1, DECK = drawCard(DECK) displCard(CARD1)