关于#自定义函数候选人#的问题,如何解决?

问题遇到的现象和发生背景: 学校选学生会主席,现有3名候选人A,B,C,多位学生进行投票,自定义函数,函数功能可以统计候选人数,主函数输入所有学生选票结果
我想要达到的结果:如:调用自定义函数,输出最后每位候选人的调票数.参考结果如:候选人A得票“
候选人B得票
候选人C得票

def fun(sd):
    d = {}
    for i in sd:
        d[i] = d.get(i, 0) + 1
    return d

if __name__ == "__main__":
    x = ['A', 'B', 'C']
    pi =input("输入选票A B C,用空格隔开:").split()    
    resu = fun(pi)
    for i in x:        
        print("候选人{}的得票:{}".format(i, resu[i]))
        
'''---result
输入选票A B C,用空格隔开:A B A C B A A A C B
候选人A的得票:5
候选人B的得票:3
候选人C的得票:2
'''

img


def main():
    a = [0]*4
    xp = int(input("请输入候选人的编号1--3,输入-1结束统计:"))
    while xp != -1:
        if xp >= 1 and xp <= 3:
            a[xp] +=1
        else:
            print(xp,"输入有误,编号在1--3之间...")
        xp = int(input("请输入候选人的编号1--3,输入-1结束统计:"))
    for i in range(1,4):
        print("候选人%c得票:%d 票" %(i+64,a[i]))
main()