Python - Why Python: Similar but Different - set, methods, add, remove
Head First Python: A Learner’s Guide to the Fundamentals of Python Programming, A Brain-Friendly Guide、 Paul Barry(著)、 O’Reilly Mediaの Chapter 1.(Why Python?: Similar but Different)、SHARPEN YOUR PENCIL(98/682)の解答を求めてみる。
Jupyter(コード、入出力結果)
Cards.ipynb
import random
suits = ['Clubs', 'Spades', 'Hearts', 'Diamonds']
faces = ['Jack', 'Queen', 'King', 'Ace']
numbered = list(range(2, 11))
deck = set()
for suit in suits:
for card in faces + numbered:
deck.add((card, 'of', suit))
def draw():
card = random.choice(list(deck))
deck.remove(card)
return card
len(deck)
52
draw()
(4, 'of', 'Hearts')
len(deck)
51
for _ in range(5):
print(draw())
(9, 'of', 'Diamonds')
('King', 'of', 'Hearts')
('King', 'of', 'Diamonds')
(4, 'of', 'Spades')
(3, 'of', 'Hearts')