Проверьте мое решение
orderTable = {"Ace": 0, "Jack": 10, "Queen": 11, "King": 12, "Clubs": 0, "Diamonds": 1,
"Hearts": 2, "Spades": 3}
def cardOrder(card):
(f,x,s) = card.split()
n = orderTable[f] if f in orderTable else int(f) - 1
return n * 4 + orderTable[s]
def sort_deck(deck_list):
sorted_list = list(range(13 * 4))
for card in deck_list:
sorted_list[cardOrder(card)] = card;
return sorted_list
Тест
print(deck, end="\n---Shuffled deck---\n")
print(random_list, end="\n---Ordered once again---\n")
print(sort_deck(random_list))
Вывод
['Ace of Clubs', 'Ace of Diamonds', 'Ace of Hearts', 'Ace of Spades', '2 of Clubs',
'2 of Diamonds', '2 of Hearts', '2 of Spades', '3 of Clubs', '3 of Diamonds',
'3 of Hearts', '3 of Spades', '4 of Clubs', '4 of Diamonds', '4 of Hearts',
'4 of Spades', '5 of Clubs', '5 of Diamonds', '5 of Hearts', '5 of Spades',
'6 of Clubs', '6 of Diamonds', '6 of Hearts', '6 of Spades', '7 of Clubs',
'7 of Diamonds', '7 of Hearts', '7 of Spades', '8 of Clubs', '8 of Diamonds',
'8 of Hearts', '8 of Spades', '9 of Clubs', '9 of Diamonds', '9 of Hearts',
'9 of Spades', '10 of Clubs', '10 of Diamonds', '10 of Hearts', '10 of Spades',
'Jack of Clubs', 'Jack of Diamonds', 'Jack of Hearts', 'Jack of Spades',
'Queen of Clubs', 'Queen of Diamonds', 'Queen of Hearts', 'Queen of Spades',
'King of Clubs', 'King of Diamonds', 'King of Hearts', 'King of Spades']
---Shuffled deck---
['9 of Spades', '5 of Hearts', 'King of Clubs', '9 of Diamonds', '6 of Diamonds',
'Ace of Spades', '5 of Diamonds', '3 of Clubs', '5 of Spades', '7 of Hearts',
'Queen of Spades', '4 of Hearts', 'Jack of Spades', '7 of Spades', '4 of Spades',
'King of Hearts', 'King of Spades', 'Jack of Clubs', '4 of Clubs', '3 of Hearts',
'2 of Clubs', '2 of Hearts', 'Queen of Hearts', 'Ace of Diamonds', 'Jack of Hearts',
'10 of Clubs', '8 of Diamonds', '7 of Diamonds', '10 of Hearts', '10 of Diamonds',
'King of Diamonds', '5 of Clubs', 'Ace of Hearts', 'Ace of Clubs', '4 of Diamonds',
'3 of Spades', 'Queen of Diamonds', '2 of Spades', '6 of Spades', '9 of Clubs',
'8 of Clubs', 'Jack of Diamonds', '3 of Diamonds', '10 of Spades', '2 of Diamonds',
'7 of Clubs', '6 of Clubs', '8 of Spades', 'Queen of Clubs', '9 of Hearts',
'6 of Hearts', '8 of Hearts']
---Ordered once again---
['Ace of Clubs', 'Ace of Diamonds', 'Ace of Hearts', 'Ace of Spades', '2 of Clubs',
'2 of Diamonds', '2 of Hearts', '2 of Spades', '3 of Clubs', '3 of Diamonds',
'3 of Hearts', '3 of Spades', '4 of Clubs', '4 of Diamonds', '4 of Hearts',
'4 of Spades', '5 of Clubs', '5 of Diamonds', '5 of Hearts', '5 of Spades',
'6 of Clubs', '6 of Diamonds', '6 of Hearts', '6 of Spades', '7 of Clubs',
'7 of Diamonds', '7 of Hearts', '7 of Spades', '8 of Clubs', '8 of Diamonds',
'8 of Hearts', '8 of Spades', '9 of Clubs', '9 of Diamonds', '9 of Hearts',
'9 of Spades', '10 of Clubs', '10 of Diamonds', '10 of Hearts', '10 of Spades',
'Jack of Clubs', 'Jack of Diamonds', 'Jack of Hearts', 'Jack of Spades',
'Queen of Clubs', 'Queen of Diamonds', 'Queen of Hearts', 'Queen of Spades',
'King of Clubs', 'King of Diamonds', 'King of Hearts', 'King of Spades']