обойти требование «без петель».

ичок в Python, и у меня есть задание, мне нужно написать рекурсивную функцию, которая принимает два аргумента (Веса, W), вес - это список весов багажа, а W - максимальный вес, который может принять студент, в Python 2.7. который рассчитывает максимальное количество багажа, которое может принять студент, и не превышает максимальный предел (W), например, если:

>>> calc_max_baggage([5], 0)
>>> 0
>>> calc_max_baggage ([1, 1, 1], 5)
>>> 3
>>> calc_max_baggage([4, 2, 3, 1], 5)
>>> 2

Это мой код, но он возвращает ошибку:

def calc_max_baggage (weights, W):
weights = []
res = []
W = int
def number_of_index(weights, W, i): 
    if max(weights) > W:
        return res
    else:
        count += i in weights

return calc_max_baggage()

Сообщение об ошибке:

Traceback (последний вызов был последним): файл "", строка 1, в calc_max_baggage ([5], 0) файл "C: / Users / user / Desktop / לימודים / פייתון Python / עבודות בית / ex6 / test_ex6.py", строка 12, в calc_max_baggage return calc_max_baggage () TypeError: calc_max_baggage () принимает ровно 2 аргумента (задано 0)

Я совершенно не уверен в своем коде, я думаю, что это совершенно неправильно

Вес - это список весов, а W - максимальный вес.
Учитывая это, я хочу знать, сколько предметов из списка weights [] можно взять с собой в самолет.
* Я не могу изменить функциюcalc_max_baggage(weights, W) это требует двух аргументов.

W также может быть отрицательным, в этом случае функция возвращает 0.

ЭТО ДОЛЖНО БЫТЬ РЕШЕНО ТОЛЬКО С РЕКУРСИЕЙ И БЕЗ ПЕТЛИ

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос