Skip to main content
 首页 » 编程设计

python之在字典中添加值

2025年05月04日22开发

我的字典代码有问题。到目前为止我所拥有的是这个-

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