drawcards.py

Created by tracy-pratt-1

Created on November 13, 2025

937 Bytes

This script will allow you to draw n-number of cards from a standard 52 deck of cards.

Use the function draw_cards(n) to drawn cards until all 52 cards have been drawn.

To reset the deck. Use function reset() to put all drawn cards back into the deck.


from random import *

#Build a deck of cards
suits = ["Hearts", "Diamonds", "Clubs", "Spades"]
ranks = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"]
deck = []
for suit in suits:
    for rank in ranks:
        deck.append(rank + " of " + suit)

#Function to draw n cards
def drawcards(n):
    global deck
    if n > len(deck):
        print("Not enough cards, reset!")
        return

#Build a list of drawn cards
    drawn = []
    for i in range(n):
        card = choice(deck)
        drawn.append(card)
        deck.remove(card)

#Report drawn cards
    print("You drew:")
    for card in drawn:
        print("- " + card)
    print(str(len(deck)) + " cards remaining.")

#Function to reset the deck
def reset():
    global deck
    deck = []
    for suit in suits:
        for rank in ranks:
            deck.append(rank + " of " + suit)
    print("Deck reset! 52 cards available.")

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.