我必须创建一个函数higher_in_rank,它使用一张卡片base_card,并生成一个排名高于base_card的所有卡片的列表,按排名递增的顺序排序。卡牌排名如下:
- 在花色方面,梅花低于菱形,低于红心,低于黑桃,无论价值如何。
- 如果两张牌的花色相同,则数值较大的牌等级较高。
例如:
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
我不知道如何为此创建代码。