我正在嘗試獲取存盤在字典中的每個變數的總值。我是一個在這行代碼中苦苦掙扎的初學者。有人可以幫我找出錯誤嗎?
income_list = {
"Job": [],
"Business": [],
"Dividends": [],
"Sideline": [],
"Others": []
}
total_income = 0
job = income_list["Job"].append(float(input(f"Enter income for job: € ")))
business = income_list["Business"].append(float(input(f"Enter income for Business: € ")))
dividends = income_list["Dividends"].append(float(input(f"Enter income for Dividends: € ")))
sideline = income_list["Sideline"].append(float(input(f"Enter income for Sideline: € ")))
others = income_list["Others"].append(float(input(f"Enter other incomes: € ")))
for value in income_list.values():
print(sum(value))
uj5u.com熱心網友回復:
鑒于您需要總和的總和,您可以使用串列推導:
total = sum([sum(source) for source in income_list.values()])
即使您的收入來源包含多個值(因為它們是串列),此方法也將起作用。
通過給 一個生成器可以達到相同的結果sum:
total = sum(sum(source) for source in income_list.values())
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
from itertools import chain
sum(chain(income_list.values())
uj5u.com熱心網友回復:
我認為您需要以下兩件事之一:1)帶有字典/物件的串列,或 2)帶有串列的字典。我會選擇 1),因為它對我來說感覺更直觀,但既然您似乎已經在嘗試實作 2),我也會這樣做。
我將提供一個簡約的示例,然后您應該能夠將其擴展到您的程式中。
my_lists = {
"list1": [],
"list2": []
}
my_input = Input()
my_lists["list1"].append(my_input)
for x in my_lists["list1"]:
print(x)
uj5u.com熱心網友回復:
首先,如果您要存盤的是單個值,那么使用串列作為字典值是沒有意義的。其次,您需要在 for 回圈中添加“total_income”變數。
該代碼有效:
income_list = {
}
total_income = 0
income_list["Job"]=float(input(f"Enter income for job: € "))
income_list["Business"]=float(input(f"Enter income for Business: € "))
income_list["Dividends"]=float(input(f"Enter income for Dividends: € "))
income_list["Sideline"]=float(input(f"Enter income for Sideline: € "))
income_list["Others"]=float(input(f"Enter other incomes: € "))
for value in income_list.values():
total_income = value
print(total_income)
也就是說,我認為您甚至不需要為此使用字典,只需簡單的浮點變數即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441349.html
上一篇:獲取字典中3個最小值對應的鍵
下一篇:在字典的幫助下訪問Json物件值
