Boa tarde galera, fiz um exercício, função ‘maximo’, que devolve o maior valor dentre dois inteiros recebidos, para que ela passe a receber 3 valores inteiros como parâmetros e devolva o maior dentre eles, consegui realizar esta tarefa, mas no código não há nada de elegante, alguma dica para retirar as repetições de if ?
Se quiser ainda deixar a quantidade de parâmetros indefinida…
defmaximo(*numeros):lista=sorted(numeros)maior=lista[-1]# ultima posicaoreturnmaior
Para fins de aprendizado tranquilo, mas no dia a dia, não reinvente a roda e busque conhecer a API padrão
R
RodrigoFreiitas
É vou ter que ler muito mesmo, porque ainda não aprendi a função sorted.
S
Solucao aceita
Shadowing1 like
Boa tarde Rodrigo,
Você pode utilizar a função MAX do Python que retorna o maior valor dentre os argumentos passados.
Alterei a função para que espere receber uma lista com exatos 3 valores e retorne o maior dentre eles assim evitando que caso você deseja aumentar o número de argumentos não necessite de adicionar novos parâmetros (n1, n2, n3, n4, nX…).
O código final ficou da seguinte forma:
defmaximo(valores):
ifnotlen(valores)==3:
return"Sua lista deve conter exatamente 3 valores"returnmax(valores)printmaximo((100,5000,12))