código Python para calcular a quantidade máxima de bagagem é permitido usando a função recursi

Eu sou novo no python e tenho uma atribuição, preciso escrever uma função recursiva que aceite dois argumentos (pesos, W), pesos é a lista de pesos de bagagem e W é o peso máximo que um aluno pode suportar, em python 2.7 que calcula a quantidade máxima de bagagem que um aluno pode levar e não ultrapassa o limite máximo (W), por exemplo, se:

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

Este é o meu código, mas ele retorna um erro:

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()

Mensagem de erro

Traceback (última chamada mais recente): Arquivo "", linha 1, em calc_max_baggage ([5], 0) Arquivo "C: / Usuários / usuário / Desktop / Área de trabalho / Área de trabalho / Área de trabalho / עייתון Python / עייתון Python / בידות בית / ex6 / test_ex6.py" , linha 12, no retorno calc_max_baggage calc_max_baggage () TypeError: calc_max_baggage () leva exatamente 2 argumentos (0 fornecido)

Não tenho muita certeza do meu código, acho totalmente errado

Pesos é a lista de pesos e W é o peso máxim
Dado isso, quero saber quantos itens da lista de pesos [] podem ser trazidos no aviã
* Não posso mudar a funçãocalc_max_baggage(weights, W) que requer dois argumentos.

W também pode ser negativo; nesse caso, a função retorna 0.

DEVE SER RESOLVIDO SOMENTE COM RECURSÃO E SEM LOOPS

Obrigad

questionAnswers(1)

yourAnswerToTheQuestion