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))+'票')
运行结果如下:
首先,我们可以使用一个空的字典来存储候选人的得票数。然后,使用一个循环来不断输入候选人的姓名,直到输入“#”为止。在循环中,我们可以使用字典的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}')