У вашего кода была пара проблем - несоответствующие скобки, и вам не нужно звонить card.__init__()
.
Я исправил это, и это работает для меня:
import random
cards = {'Hearts':
{'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10, 'Queen':10, 'King':10, 'Ace':11},
'Diamonds':
{'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10, 'Queen':10, 'King':10, 'Ace':11},
'Spades':
{'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10, 'Queen':10, 'King':10, 'Ace':11},
'Clubs':
{'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10, 'Queen':10, 'King':10, 'Ace':11}}
playing = True
class Deck:
def __init__(self):
self.deck = []
for outer_key in cards:
'Outer Key = ',outer_key
for inner_key in cards[outer_key]:
self.deck.append(('{} of {}'.format(inner_key,outer_key)))
def __str__(self):
x = ''
for card in self.deck:
x += '\n' + card
return 'The deck has: ' + x
test_deck = Deck()
print(test_deck)