我正在尝试完成计算机科学课的任务,并且我有一个函数应该返回True,但返回None。我还没有完成代码,但是本节应该可以正常工作。
代码确实在if语句中查找,因为我包含的其他打印件已经起作用。我还试图使代码返回变量,并在if语句中定义变量,这也行不通。
RANK_ORDER = '34567890JQKA2'
SUIT_ORDER = 'DCHS'
def is_higher(card1, card2):
card1v = RANK_ORDER.index(card1[0][0])
card2v = RANK_ORDER.index(card2[0][0])
card1s = SUIT_ORDER.index(card1[1][:1])
card2s = SUIT_ORDER.index(card2[1][:1])
if card1v == card2v:
if card1s > card2s:
return True
else:
return False
elif card1v > card2v:
return True
else:
return False
def sort_cards(cards):
is_higher(cards[0], cards[1])
if __name__ == '__main__':
print(sort_cards(['AS', '5H']))
该代码尚未对卡片进行排序,但是如果第一张卡片更高,则应该说True。这段代码不打印任何内容。
答案 0 :(得分:2)
is_higher
返回一个值为sort_cards
的值,但您正在打印sort_cards的返回值,如果为None,则要打印sort_cards的返回值,即返回值的{{{ 1}} 。只需这样做:
is_higher