I am trying to create a deck of cards, shuffle it, and then re-sort it.
The problem is when I sort it after shuffling, the list ends up like this: [10, 11, 12, 13, 8, 9]
I used a smaller deck for example. With a full deck the list still ends up: [10, 11, 12, 13, 1, 2, ...]
Why is the list not properly being sorted?
Here's my code:
import random
# Initialize Deck
deck = []
suits = ['Club', 'Spade', 'Heart', 'Diamond']
for i in range(8, 14):
for s in range(4):
deck.append([str(i), suits[s]])
# Format numbers into card face
for i in range(len(deck)):
if deck[i][0] == "1":
deck[i][0] = "Ace"
elif deck[i][0] == "11":
deck[i][0] = "J"
elif deck[i][0] == "12":
deck[i][0] = "Q"
elif deck[i][0] == "13":
deck[i][0] = "K"
print("Initial deck", deck)
print()
# Shuffle Deck
random.shuffle(deck)
print("Shuffle function:", deck)
# Turn face back to number for sorting
for i in range(len(deck)):
if deck[i][0] == "Ace":
deck[i][0] = "1"
elif deck[i][0] == "J":
deck[i][0] = "11"
elif deck[i][0] == "Q":
deck[i][0] = "12"
elif deck[i][0] == "K":
deck[i][0] = "13"
deck.sort()
print("Sort function: ", deck)
Output:
Initial deck: [['8', 'Club'], ['8', 'Spade'], ['8', 'Heart'], ['8', 'Diamond'], ['9', 'Club'], ['9', 'Spade'], ['9', 'Heart'], ['9', 'Diamond'], ['10', 'Club'], ['10', 'Spade'], ['10', 'Heart'], ['10', 'Diamond'], ['J', 'Club'], ['J', 'Spade'], ['J', 'Heart'], ['J', 'Diamond'], ['Q', 'Club'], ['Q', 'Spade'], ['Q', 'Heart'], ['Q', 'Diamond'], ['K', 'Club'], ['K', 'Spade'], ['K', 'Heart'], ['K', 'Diamond']]
Shuffle function: [['J', 'Heart'], ['8', 'Club'], ['Q', 'Spade'], ['9', 'Diamond'], ['9', 'Heart'], ['10', 'Diamond'], ['K', 'Heart'], ['K', 'Spade'], ['10', 'Heart'], ['9', 'Club'], ['8', 'Heart'], ['K', 'Club'], ['8', 'Diamond'], ['Q', 'Diamond'], ['9', 'Spade'], ['Q', 'Heart'], ['10', 'Spade'], ['K', 'Diamond'], ['J', 'Diamond'], ['Q', 'Club'], ['10', 'Club'], ['8', 'Spade'], ['J', 'Spade'], ['J', 'Club']]
Sort function: [['10', 'Club'], ['10', 'Diamond'], ['10', 'Heart'], ['10', 'Spade'], ['11', 'Club'], ['11', 'Diamond'], ['11', 'Heart'], ['11', 'Spade'], ['12', 'Club'], ['12', 'Diamond'], ['12', 'Heart'], ['12', 'Spade'], ['13', 'Club'], ['13', 'Diamond'], ['13', 'Heart'], ['13', 'Spade'], ['8', 'Club'], ['8', 'Diamond'], ['8', 'Heart'], ['8', 'Spade'], ['9', 'Club'], ['9', 'Diamond'], ['9', 'Heart'], ['9', 'Spade']]