#python #list #math #2d
#питон #Список #математика #2d
Вопрос:
Текстовый файл отформатирован следующим образом: исполнитель, название, жанр, продолжительность игры, состояние, акции, стоимость
мне нужно получить общую стоимость записей на складе, чтобы получить общую сумму для каждой строки, а затем сложить их все, чтобы получить абсолютную общую стоимость в конце
в своем коде я смог получить общую стоимость записей, просто суммируя значение, предполагая, что на складе есть только одна запись, однако я не уверен, как получить сумму стоимости запасов * для каждой записи или строки в функции
вот мой код:
def print_summary(): value = 0 for item in range(len(record_inventory_list)): print(record_inventory_list[item][0], record_inventory_list[item][1], record_inventory_list[item][2], record_inventory_list[item][3], record_inventory_list[item][4], record_inventory_list[item][5], record_inventory_list[item][6], sep=' -gt; ') value = float(record_inventory_list[item][6]) print('nTotal Value of records: ', format(value, '.2f')) print('Amount of titles: ', len(record_inventory_list))
Ответ №1:
Вы можете использовать понимание списка:
def total_cost(): return sum(lst[5]*lst[6] for lst in record_inventory_list) print(total_cost())
Просто к вашему сведению, чище перебирать список напрямую, а не его индексы. Нравится:
def print_summary(): value = 0 for item in record_inventory_list: print(item, sep=' -gt; ') value = float(item[6]) return value