lundi 14 août 2017

I am trying to generate 52 cards from a list and sort them in a specific order

I am trying to output all 52 cards in a deck, and then sort them in order (A-K, Hearts, Diamonds, Clubs, Spades). So far I have been able to generate random choices, but with repeated cards, and my sort is alphabetical.

Here is my code so far:

import random

my_deck = []

def selSort(my_deck):
    n = len(my_deck)
    for bottom in range(n-1):
        mp = bottom
        for i in range(bottom + 1, n):
            if my_deck[i] < my_deck[mp]:
                mp = i
        my_deck[bottom], my_deck[mp] = my_deck[mp], my_deck[bottom]

while True:

    i = input("Hit Enter for Card: ")
    cardNumber = random.choice( ('Ace of ', '2 of ', '3 of ', '4 of ', '5 of ',
     '6 of ', '7 of ', '8 of ', '9 of ', '10 of ', 'Jack of ', 'Queen of ',
     'King of ') )
    suit = random.choice( ('Hearts', 'Diamonds', 'Clubs', 'Spades') )
    yourCard = cardNumber + suit
    my_deck.append(yourCard)
    print(yourCard)


    for i in range(1):
        if len(my_deck) >= 52:
            print("Now they are in order!")
            selSort(my_deck)
            print(my_deck)




Aucun commentaire:

Enregistrer un commentaire