审稿人说要优化功能,但我不知道怎么做
class Test:
def __init__(self, name: str, tasks: str, penalties: str) -> None:
self.name = name
self.tasks = int(tasks)
self.penalties = int(penalties)
def __lt__(self, prev: 'Participant') -> bool:
if self.tasks == prev.tasks:
if self.penalties == prev.penalties:
return self.name < prev.name
return self.penalties < prev.penalties
return self.tasks > prev.tasks
def __str__(self) -> str:
return self.name
评论是:
而不是'if's,我建议你简单地比较元组
只是如果我的退货与 if 相关,我不明白该怎么做
这可以这样做:
if self.penalties == prev.penalties:
,return self.penalties < prev.penalties
- 因为比较符号name
和是penalties
相同的(<
),只需比较元组(penalties, name)
:if self.tasks == prev.tasks:
,return self.tasks > prev.tasks
- 因为比较符号(penalties, name)
和tasks
不同,我们交换self.tasks
和prev.tasks
: