想問若輸入為n(可決定要輸入多少)
這邊也分享一下其他解決方法
總體來說就是
n為總輸入總數(假設為3)
a 1 b b     (假設輸入a 而其合成值會是1+b+b=5)
b 2         (假設b為2=2)
c 2 b       (假設c為b+2=4)
output:
5
2
4
n=int(input())
s=[input().split() for _ in range(n)]
d={}
c=0
while len(d)<n:
    i=c%n
    try:
        sm=sum([int(e) for e in s[i][1:]])
        d[s[i][0]]=sm
    except:
        for k in d:
            if k in s[i]:
                x=s[i].index(k)
                s[i][x]=str(d[k])
    c+=1
你這個……

是類似多元一次聯立方程式的概念?
( 因為你說明的不清不楚, 你的欄位標題我也看不懂, 所以我用猜的~ )
A=1+B+D  # A==16
B=2+E    # B==11
C=3      # C==3
D=4      # D==4
E=5+D    # E==9
表格化…… 像這樣?:
( 還是上面聯立方程式的寫法我才看得懂, 這表格好像還是讓人看不明瞭…… )
| 變數名 | = | 加數(值) | 加數(名) | 加數(名) | # | 變數解答 | 
|---|---|---|---|---|---|---|
| A | = | 1 | B | D | # | A==16 | 
| B | = | 2 | E | # | B==11 | |
| C | = | 3 | # | C==3 | ||
| D | = | 4 | # | D==4 | ||
| E | = | 5 | D | # | E==9 | 
瞎扯就到這裡吧~ 以下給你個參考:
product={} 之後的我就不管了~## Tested @[Python 3.10.9];
def myMain():
	""" myMain#1 """
	## n: 輸入項目數量; 
	n = int(input('n(int): '))
	## s: 輸入「項目名稱」([0])與「項目內容」([1:]); 
	s = [input(f'[{_}](str): ').split() for _ in range(n)]
	""" 
## 遍歷 s 內各 list 的元素: 
## - 若元素字串符合浮點數格式, 將該元素轉為浮點數; 
## - 若元素字串不符合浮點數格式, 將該元素紀錄於使用到的變數名稱之集合(mySetVN); 
"""
	mySetVN = set()
	for i in s:
		for idx, ele in enumerate(i):
			if ele.replace('.','',1).isdigit():
				i[idx] = float(ele)
			else:
				mySetVN |= set((i[idx],))
	## 整理排序後的變數名稱集合給 myListVN;
	myListVN = sorted(mySetVN)
	""" ## 建立給 NumPy 處理的聯立方程式(方程組)之資料; """
	import numpy as np
	## myEqsAryA: list for 方程組A;
	myEqsAryA = list()
	for i in s:
		## aEqAry: list for 單個方程式;
		aEqAry = [0] *len(myListVN)
		for idx, ele in enumerate(myListVN):
			"""
## 把例如 `A=1+B` 的型式整理成 `A-B=1` 型式。 
"""
			if ele in i:
				if i.index(ele): ## i.index(ele) != 0:
					aEqAry[idx] = -1
				else: ## i.index(ele) == 0:
					aEqAry[idx] = 1
		myEqsAryA.append(aEqAry)
	## 把 myEqsAryA 轉成給 NumPy 用的係數矩陣;
	myEqsNPAryA = np.array(myEqsAryA)
	## 把 s 內各 list 的第二個元素 ([1]) 轉成給 NumPy 用的常數矩陣;
	myEqsNPAryB = np.array([i[1] for i in s])
	## 用 NumPy 的 linalg.solve() 求解;
	myEqsNPAryX = np.linalg.solve(myEqsNPAryA, myEqsNPAryB)
	## 將相對應的變數名稱與數值轉成 dict;
	myResult = dict(zip(myListVN, myEqsNPAryX))
	## 
	print('Result: ')
	print(myResult)
	return
## 
if __name__ == '__main__' :
	myMain()
## 
另,我這邊的結果:
n(int): 5
[0](str): A 1 B D
[1](str): B 2 E
[2](str): C 3
[3](str): D 4
[4](str): E 5 D
Result:
{'A': 16.0, 'B': 11.0, 'C': 3.0, 'D': 4.0, 'E': 9.0}
你的範例輸入應該是打錯了,沒給值怎樣計算。
n = 4
data = [{"A":1, "B":24, "C":0,"D":0}, {"B":2, "C": 11, "D":0}, {"C":3, "D": 4}, {"D": 4}]
for i in range(n):
    temp = 0
    for item in data[i]:
        temp += data[i][item]
    print(temp)