第一行給出條目數。此外,每個條目都包含候選人的姓名和在其中一個州投給他的票數。總結選舉結果:對于每個候選人,確定投給他的票數。使用字典完成任務。
輸入:投票記錄數(整數),然后成對<> - <>
輸出:列印問題的解決方案。
例子:
輸入:
5
McCain 10
McCain 5
Obama 9
Obama 8
McCain 1
輸出:
McCain 16
Obama 17
我的問題在于我必須對具有相同名稱但不同值的鍵求和。
我的代碼是:
cand_n = int(input())
count = 0
countd = 0
cand_list = []
cand_f = []
num = []
surname = []
edict = {}
while count < cand_n:
cand = input()
count = 1
cand_f = cand.split(' ')
cand_list.append(cand_f)
for k in cand_list:
for i in k:
if i.isdigit():
num.append(int(i))
else: surname.append(i)
while countd < cand_n:
edict[surname[countd]] = num[countd]
countd = 1
print(edict)
uj5u.com熱心網友回復:
您可以直接將名稱和投票添加到字典中,而不是再使用一個 for() 和 while()。如果字典中不存在該名稱,則添加該名稱并投票。如果該名稱存在于字典中,則增加投票。
cand_n = int(input())
count = 0
cand_list = []
cand_f = []
edict = {}
while count < cand_n:
cand = input()
count = 1
cand_f = cand.split(' ')
if cand_f[0] in edict:
edict[cand_f[0]] = int(cand_f[1])
else:
edict[cand_f[0]] = int(cand_f[1])
print(edict)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438555.html
上一篇:按索引更改字典的字典鍵
