カード base_card を消費する関数 higher_in_rank を作成し、base_card より高いランクを持つすべてのカードのリストを作成し、ランクの昇順で並べ替える必要があります。カードのランキングは以下の通りです。
- スートで言えば、クラブはダイヤよりも低く、ハートよりも低く、スペードよりも低くなります。
- 2 枚のカードが同じスートの場合、値が大きいカードのランクが高くなります。
例えば:
higher_in_rank(card('spades', 8)) => [card('spades', 9), card('spades', 10)]
higher_in_rank(card('diamonds', 6)) =>
[card('diamonds',7), card('diamonds', 8), ..., card('hearts',1),
..., card('hearts',10), card('spades', 1), ..., card('spades', 10)]
どこから始めればいいのかわからない。私は次のものを持っています:
class card:
'Fields: suit, value'
def __init__(self, suit, value):
self.suit = suit
self.value = value
def __repr__(self):
return '{suit} {value}'.format(suit=self.suit,value=self.value)
# A card is an object card(suit, value) where
# * suit is one of 'clubs', 'spades', 'diamonds', 'hearts', and
# * value is an integer in the range 1..10
def higher_in_rank(base_card):
if base_card.suit == 'clubs':
return #clubs, diamonds, hearts, spades
if base_card.suit == 'diamonds':
return #diamonds, hearts, spades
if base_card.suit == 'hearts':
return #hearts, spades
if base_card.suit == 'spades':
return #spades
このコードの作成方法がわかりません。