С учетом массива
bills = [500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01]
.
Требуется написать функцию decompose()
, которая будет разлагать сумму в счетах, содержащихся в массиве.
Например,
decompose(423)
вернет список, содержащий следующие элементы
[200, 200, 20, 1, 1, 1]
Это мой код:
bills = [500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01]
def decompose(amount, lst = []):
if len(bills) == 1:
return lst
if amount > bills[0]:
lst += [bills[0]]
amount = amount - bills[0]
return decompose(bills, lst + [bills[0]])
return decompose(bills[1:], lst + [bills[0]])
print(decompose(523))
Мой вывод:
Traceback (most recent call last):
File "test.py", line 94, in <module>
print(decompose(523))
File "test.py", line 91, in decompose
return decompose(bills, lst + [bills[0]])
File "test.py", line 88, in decompose
if amount > bills[0]:
TypeError: '>' not supported between instances of 'list' and 'int'
Как мне разложить мою сумму?