候选人票数统计python

多人对若干个候选人投票。
循环输入候选人名字,将其存入到列表tp中,直到输入end为止,计算每个候选人的得票数,按从高到低显示名次、姓名、票数

用字典可以吗,不行再提,利用字典统计的代码如下

tp = {}
while(True):
    name = input()
    if name == "end":
        break
    value = tp.get(name, 0)
    tp[name] = value+1

tp = sorted(tp.items(), key=lambda x:x[1], reverse=True)
for i, names in enumerate(tp, 1):
    print("名次:{}\t姓名:{}\t票数:{}".format(i, names[0], names[1]))

img