python使用字典存储编写计票程序

python编写一计票程序,键盘输入候选人姓名(输入“#”结束),使用字典存储并统计出候选人得票数。
1.使用input输入姓名(name),存入字符串s中,输入“#”结束;
2.根据姓名,统计出候选人出现的次数,存入字典dic中。
3.根据字典内容打印输出候选人及得票数。

这其实就关于字典的简单应用,可以关注我,我对python比较熟悉,为你实现的计票程序如下:

dic = {}

s = input('请输入候选人的姓名(输入“#”结束):')
while s!='#':
    dic[s] = dic.get(s,0)+1 #统计出现的次数
    s = input('请输入候选人的姓名(输入“#”结束):')

print('候选人及得票数如下:')
for key in dic.keys():
    print(key,str(dic.get(key))+'票')

运行结果如下:

img

内容来源与ChatGpt4及newbing和百度:


首先,我们可以使用一个空的字典来存储候选人的得票数。然后,使用一个循环来不断输入候选人的姓名,直到输入“#”为止。在循环中,我们可以使用字典的get方法来获取候选人的得票数,并将其加一。最后,我们可以使用一个for循环遍历字典,输出每个候选人的得票数。

以下是一个示例代码:

votes = {}
while True:
    name = input("请输入候选人姓名(输入“#”结束):")
    if name == "#":
        break
    votes[name] = votes.get(name, 0) + 1

print("投票结果:")
for name, count in votes.items():
    print("{}:{}票".format(name, count))

在这个代码中,我们使用了一个while循环来不断输入候选人的姓名。在每次输入后,我们使用了字典的get方法来获取该候选人的得票数,并将其加一。如果该候选人在字典中不存在,那么get方法会返回默认值0,表示该候选人还没有得到任何选票。

最后,我们使用了一个for循环来遍历字典,输出每个候选人的得票数。在输出时,我们使用了字符串的format方法来格式化输出内容,以便更好地显示候选人的得票情况。


祝您问题迎刃而解


elect = {}

while True:
    name = input('请输入候选人的姓名(输入“#”结束):')
    if name.strip() == '#':
        break
    if name not in elect.keys():
        elect[name] = 1
    else:
        elect[name] = elect.get(name) + 1

print('候选人及得票数如下:')
for name,num in elect.items():
    print(f'候选人:{name},总票数:{num}')