m0_56035801 2021-03-19 19:12 采纳率: 75%
浏览 17
已采纳

遍历时使用sorted排序调用类中的方法出现nameerror

import collections from random import choice Card = collections.namedtuple('Card',['rank', 'suit']) class FrenchDeck: ranks = [str(n) for n in range(2,11)] + list('JQKA') suits = 'spades diamonds clubs hearts'.split() def __init__(self): self._cards = [Card(rank, suit) for suit in self.suits for rank in self.ranks] def __len__(self): return len(self._cards) def __getitem__(self, position): return self._cards[position] suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0) def spades_high(card): rank_value = FrenchDeck.ranks.index(card.rank) return rank_value * len(suit_values) + suit_values[card.suit] deck =FrenchDeck() for card in sorted(deck, keys=spades_high()): #doctest: +ElLIPSIS print(card) 代码如上 nameerror name spades high is not defined

  • 写回答

1条回答 默认 最新

  • 普通网友 2021-03-19 19:33
    关注

    请使用代码控件重新排版你所遇到的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?