Я построил цикл for, который просматривает значения списка, вводит их в качестве ключей для двух словарей и умножает значения двух ключей вместе.
Когда вы печатаете, это дает каждое умноженное значение в новой строке.
Я бы хотел сложить значения вместе, чтобы получить общую сумму, но пока не смог.
#The list and two dictionaries
List1 = ['coffee', 'tea' , 'cake' , 'scones' ]
Dictionary1 ={'coffee' :'4', 'tea' :'2' , 'cake' :'6' , 'scones' :'8' }
Dictionary2 = { 'coffee':'25' , 'tea':'18' , 'cake':'45' , 'scones':'30' }
#the for function which runs through the list
for i in range(len(List1)):
t = ((int(Dictionary1[List1[i]])*int(Dictionary2[List1[i]])))
#now if you print t the following is printed:
100
36
270
240
Я бы хотел получить сумму этих значений, но пока не смог.
Для этого я пробовал sum (t), которая выдает ошибку:
"> TypeError: объект 'int' не повторяется"
Я подумал, что это может быть ошибка конкатенации, поэтому я попытался использовать sum (int (t)), но это не работает.
Я также пытался превратить его в list () "x = list (t), а также заменить строки запятыми на .replace("\n",",")
.
Все отзывы приветствуются, я думаю, что это, вероятно, легко решить, но я просто не смог туда добраться - спасибо.