问题遇到的现象和发生背景: 学校选学生会主席,现有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
'''
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()