Question: import randomdef main ( ) : # Declare variables column = 0 loopCounter = 0 # Declare the deck list deck = [ 0 ]

import randomdef main(): # Declare variables column =0 loopCounter =0 # Declare the deck list deck =[0]*52 # Declare a 7 row by 3 column list play =[[0,0,0] for _ in range(7)] # Opening message print("Welcome. I'm not the latest development in AI, but ") print("I'm a computer program that can perform a card trick.") print("Let's begin!") print() print("Building the deck of cards...") # Call BuildDeck() BuildDeck(deck) print("Done!
") seeDeck = input("Now would you like to see the deck (y/n)?") if seeDeck.lower()=='y': PrintDeck(deck) # Begin the main card trick loop for loopCounter in range(3): # Call Deal() Deal(deck, play) column = int(input("
Which column is your card in (0,1, or 2)?: ")) # Call PickUp() PickUp(deck, play, column) # Call SecretCard() SecretCard(deck) print("Thank you for playing the card trick!")def BuildDeck(deck): # Generate a shuffled deck of cards deck[:]= random.sample(range(52),52)def PrintDeck(deck): for card in deck: PrintCard(card) print()def Deal(deck, play): # Deal the cards from the deck to the play list print() print(" Column 0 Column 1 Column 2") print("=======================================================") for row in range(7): for col in range(3): play[row][col]= deck[row *3+ col] PrintCard(play[row][col]) print()def PickUp(deck, play, column): # Pick up cards from the play list by column and put them in deck order =[0,1,2] order.remove(column) order.insert(1, column) index =0 for col in order: for row in range(7): deck[index]= play[row][col] index +=1def SecretCard(deck): print() print("Finding secret card...") for card in range(0,10): PrintCard(deck[card]) print() print("Your secret card is: ", end='') PrintCard(deck[10]) print()def PrintCard(card): # Convert card number to rank and suit ranks =["Ace","2","3","4","5","6","7","8","9","10", "Jack", "Queen", "King"] suits =["Clubs", "Diamonds", "Hearts", "Spades"] rank = card %13 suit = card //13 cardString = f"{ranks[rank]} of {suits[suit]}" print(cardString, end='')if __name__=="__main__": main()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!