g_deck_of_cards.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # g_deck_of_cards.py
  2. '''
  3. title: Creating a deck of cards
  4. author: Michael Tang
  5. date-created: 2021-05-12
  6. '''
  7. '''
  8. ACE_DIAMONDS = "Ace of Diamonds"
  9. ACE_DIAMONDS = ("Ace", "Diamonds")
  10. ACE_DIAMONDS = (1, 1)
  11. Abstraction to integers - use more effectively.
  12. '''
  13. from random import randrange
  14. def makeDeck():
  15. '''
  16. create a 2D array representing a deck of cards.
  17. :return: (list)
  18. '''
  19. CARDS = []
  20. for VALUE in range(1,14):
  21. for SUIT in range(1,5):
  22. CARDS.append((VALUE, SUIT))
  23. return CARDS
  24. def drawCard(DECK):
  25. '''
  26. draw a card from the deck
  27. :param DECK: (list) of cards
  28. :return (list) card, (list) deck of cards
  29. '''
  30. CARD = DECK.pop(randrange(len(DECK)))
  31. return CARD, DECK
  32. def displCard(CARD):
  33. '''
  34. displays a single card
  35. :param CARD: (tuple) card
  36. :return: (none)
  37. '''
  38. VALUE = {
  39. 1: "Ace",
  40. 2: "2",
  41. 3: "3",
  42. 4: "4",
  43. 5: "5",
  44. 6: "6",
  45. 7: "7",
  46. 8: "8",
  47. 9: "9",
  48. 10: "10",
  49. 11: "Jack",
  50. 12: "Queen",
  51. 13: "King"
  52. }
  53. SUIT = {
  54. 1: "Diamonds",
  55. 2: "Clubs",
  56. 3: "Hearts",
  57. 4: "Spades"
  58. }
  59. print(f"{VALUE[CARD[0]]} of {SUIT[CARD[1]]}")
  60. if __name__ == "__main__":
  61. DECK = makeDeck()
  62. CARD1, DECK = drawCard(DECK)
  63. displCard(CARD1)