Проблема в том, что когда вы используете списки, результатом является массив.Итак, у вас есть
>>> fullWeek = [a*b for a,b in zip(tmpRate,Hours)]
>>> fullWeek
[450.0, 650.0, 700.0] # for example
Поэтому, когда вы добавляете fullWeek
в другой список, он фактически создает список в списке.
>>>[].append([450.0, 650.0, 700.0])
[[450.0, 650.0, 700]]
Проблема удваивается, когда вы добавляете tmpSalary
к salary
.Поэтому, когда вы пытаетесь вызвать sum()
, он видит только внешний объект списка, а не целые числа внутри.
Способ исправить это - добавить отдельные элементы или указать внутренний.список к сумме.Выполните одно из следующих действий .
# Method 1
(...)
if total == 37.5:
fullWeek = [a*b for a,b in zip(tmpRate,Hours)]
tmpSalary += fullWeek
(...)
salary += tmpSalary
# Method 2
tSalaryExpenditure = sum(salary[0][0])