添加到字典并从中打印python

时间:2019-02-17 23:16:25

标签: python

例如,我目前需要一些帮助来创建民意调查系统

Name:vote Greg:chocolate
Name:vote Teena:macaroons
Name:vote Georgina:apple pie
Name:vote Will:chocolate
Name:vote Sophia:gelato
Name:vote Sam:ice cream
Name:vote James:chocolate
Name:vote Kirsten:gelato
Name:vote 
apple pie 1 vote(s): Georgina
gelato 2 vote(s): Sophia Kirsten
chocolate 3 vote(s): Greg Will James
macaroons 1 vote(s): Teena
ice cream 1 vote(s): Sam

我当前的代码已完全损坏,因为我对字典的要求不强。请提供任何提示或技巧。

Current Code:
votes = {}

userinput = input("Name:vote ")
for word in userinput.strip().split():
  name = ""
  food = ""
  key = (name, food)
  votes[key]
print(votes)

预先感谢

1 个答案:

答案 0 :(得分:0)

假设您要输入的内容严格为“ user:input”,并且要根据需要输入的票数无限期重复此操作,则需要一个循环。每次用户添加条目时,都会将其添加到列表中。您可以根据输入设置子句变量,例如,如果用户键入“ end”,则会中断循环。

userinputs = []
end = False

while end == False:
    entry = input("Enter Name:Vote")
    if entry == 'end':
        end = True
    else:
        userinputs.append(entry)

一旦有了,就可以用另一个循环填充字典,类似于您的操作方式。由于输入约定严格是'name:vote',因此您可以使用':'字符进行拆分,并将相应的值添加到字典中:

for entry in userinputs:
  name = entry.split(':')[0]
  food = entry.split(':')[1]
  votes[name] = food

print(votes)

我的建议是考虑设计输入约定不是严格的“名称:投票”的方式,以及如何使该程序对错误更健壮(其中有很多) )。