Python 函数计算错误,返回0而不是500k,我做错了什么?

Python 函数计算错误,返回0而不是500k,我做错了什么?,python,python-3.x,Python,Python 3.x,我怎样才能解决这个问题 pricec = { "Case" : 56950, "PSU" : 48950, "Mobo" : 59500, "GPU" : 124990, "Memory" : 57800, "CPU" : 53900, "SSD" : 99900, "Cooling" : 0 } total = 0 def pricet(total, pricec): for x in pricec:

我怎样才能解决这个问题

pricec = {
    "Case" : 56950,
    "PSU" : 48950,
    "Mobo" : 59500,
    "GPU" : 124990,
    "Memory" : 57800,
    "CPU" : 53900,
    "SSD" : 99900,
    "Cooling" : 0
}

total = 0

def pricet(total, pricec):
    for x in pricec:
        total += pricec[x]
        return total
pricet(total, pricec)

print ("Build Cost: " + str(total)+"kr")

您没有从
price()函数的返回值设置total变量

pricec = {
    "Case" : 56950,
    "PSU" : 48950,
    "Mobo" : 59500,
    "GPU" : 124990,
    "Memory" : 57800,
    "CPU" : 53900,
    "SSD" : 99900,
    "Cooling" : 0
}

def pricet(pricec):
    total = 0
    for x in pricec:
        total += pricec[x]
    return total

total = pricet(pricec)

print("Build Cost: " + str(total) + "k")
此外,还有一种比循环更简单的方法对字典的值求和:

def pricet(pricec):
    return sum(pricec.values())

您没有从
price()函数的返回值设置total变量

pricec = {
    "Case" : 56950,
    "PSU" : 48950,
    "Mobo" : 59500,
    "GPU" : 124990,
    "Memory" : 57800,
    "CPU" : 53900,
    "SSD" : 99900,
    "Cooling" : 0
}

def pricet(pricec):
    total = 0
    for x in pricec:
        total += pricec[x]
    return total

total = pricet(pricec)

print("Build Cost: " + str(total) + "k")
此外,还有一种比循环更简单的方法对字典的值求和:

def pricet(pricec):
    return sum(pricec.values())