我的字典代码有问题。到目前为止我所拥有的是这个-
def get_info():
answer = "yes"
d = {}
while answer == "yes":
a = input("Enter name: ")
b = int(input("Enter hours: "))
if b > 10 or b < 1:
b = int(input("Enter hours: "))
d[a] = b
answer = yes_no("More Shifts?: ")
if answer == "yes":
get_info()
elif answer == "no":
print(d)
def yes_no(msg):
a = input(msg)
while a!= "yes" and a!= "no":
a = input("Enter yes or no: ")
return a
def main():
get_info()
它通过将所有输入正确添加到我的字典中来完美地工作,但我似乎无法找到一种方法来实现它,例如,如果我输入“Andy”,然后是“2”,然后是“Andy”和“2”再次让我的字典在最后打印出'Andy':4。另一个引用示例是“Dan”5和“Dan”3。我的代码只会打印出Dan 3而不是总和二。我希望我清楚地描述了这个问题,以便任何人都能理解。感谢您的帮助!
请您参考如下方法:
为此,您需要检查该名称是否已在您的字典中,如果已存在,请使用 += 而不是覆盖第一个值。
if a in d:
d[a] += b
else:
d[a] = b
