Traceback (most recent call last): File "f:\Program Files (x86)\三连三炸\小小的测试.py", line 106, in <module> if not can_beat(last_cards, cards): ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\Program Files (x86)\三连三炸\小小的测试.py", line 30, in can_beat if get_type(last_cards) != get_type(cards): ^^^^^^^^^^^^^^^ File "f:\Program Files (x86)\三连三炸\小小的测试.py", line 67, in get_type cards = sorted(cards, key=lambda x: get_rank(x)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: '<' not supported between instances of 'int' and 'tuple' PS F:\Program Files (x86)\三连三炸>
时间: 2023-08-02 14:05:07 浏览: 90
这个错误是由于在对一个包含元组的列表进行排序时,使用了默认的比较函数,而元组之间默认是不支持比较的。要解决这个问题,可以自定义一个比较函数,指定按照元组中的第一个元素进行比较。例如:
```python
def get_rank(card):
return CARD_RANK.index(card[0])
def cmp_cards(card1, card2):
return get_rank(card1) - get_rank(card2)
sorted(cards, key=cmp_to_key(cmp_cards))
```
其中,`cmp_to_key` 是一个辅助函数,用于将一个比较函数转换为 `key` 函数。
阅读全文