我正在尝试创建一个实例方法,通过它的分数('count')给我一个 istance 的位置:
def ordinal_inator(num):
last = int(str(num)[-1])
if 4 <= num <= 20:
suffix = 'th'
elif last == 1:
suffix = 'st'
elif last == 2:
suffix = 'nd'
elif last == 3:
suffix = 'rd'
else:
suffix = 'th'
return num + suffix
class Cal:
count = 0
member_list = list()
def __init__(self, name):
if name not in Cal.member_list:
Cal.member_list.append(name)
self.count += 1
def positione(self):
members = dict()
for member in Cal.member_list:
members[member] = member.count
sorted_members = sorted(members.items(), key=lambda x: x[1])
cardinal_position = sorted_members.index(self)
ordinal_position = ordinal_inator(cardinal_position)
return ordinal_position
for i in range(3):
gino = Cal('gino')
for j in range(2):
nono = Cal('nono')
nina = Cal('nina')
print(gino.positione())
如果我运行它,python 会给我一个错误:
TypeError:“builtin_function_or_method”和“builtin_function_or_method”实例之间不支持“<”
在第 31 行
sorted_members = sorted(members.items(), key=lambda x: x[1])
我在该行的任何地方都看不到“<”...我该如何解决?