TypeError与实例方法

问题描述

我正在尝试创建一个实例方法,该方法通过其得分(“计数”)为我提供位置的位置:

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])

在该行的任何地方都看不到“

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)