Condição de resposta nula no EP3

Condição de resposta nula no EP3

by Willian Akira Mizutani -
Number of replies: 1

O que a função deve retornar quando os parâmetros inevitavelmente resultam em uma resposta nula?

Ou seja, se n for zero, a função deve retornar [] ou [[]]? Nos exemplos, quando não havia resposta para os valores da lista a função retornava [], mas quando n era zero, ela retornava [[]]. Mas se simplesmente não tinha valores que somavam n, a resposta não poderia ser um conjunto vazio do mesmo jeito que a função do exemplo parece se comportar para n igual a zero?

Dos exemplos:

>>> lista_trocos(0,[1,2,3])
[[]]
>>> lista_trocos(4,[5,6,7])
[]

Atualmente tenho a função funcionando respondendo [] para todos os casos em que a resposta é conjunto vazio. Devo mudar isso, ou posso manter desse jeito? É só uma linha de código, mas sei lá né

In reply to Willian Akira Mizutani

Re: Condição de resposta nula no EP3

by José Coelho de Pina -

O que a função deve retornar quando os parâmetros inevitavelmente resultam em uma resposta nula?

Os dois exemplos ilustram situações diferentes.
Um mostra um exemplo em que a lista vazia é a única solução.
O outro mostra um exemplo que não admite solução.

No exemplo abaixo, o único troco para 0 (= lista em que todo elemento da lista está em [1,2,3] e a soma de seus elementos é 0) é a lista vazia [].

>>> lista_trocos(0,[1,2,3])
[[]]
>>> sum([])
0

Já, no próximo exempo, não existe troco para 4 (= lista em que todo elemento está em [5,6,7] e a soma de seus elementos é 4).
Assim, a lista de trocos está vazia.

>>> lista_trocos(4,[5,6,7])
[]