Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Há uma forma mais pythônica de escrever?

Olá pessoal!

Estou resolvendo uma lista de exercícios e me deparei com o exercício a seguir:

Faça um Programa que leia três números e mostre o maior e o menor deles.

Parecia simples, mas depois que comecei a codar vi que não seria tão fácil não. Me deparei com diversos erros e bugs, mas consegui chegar em uma versão que atendeu todos os testes que fiz:

#Exercício 7
num1 = float(input("Insira o primeiro número: "))
num2 = float(input("Insira o segundo número: "))
num3 = float(input("Insira o terceiro número: "))

if num1 >= num2 and num1 >= num3:
    print(f'O {num1} é o maior.')
elif num2 >= num1 and num2 >= num3:
    print(f'O {num2} é o maior')
elif num3 >= num1 and num3 >= num2:
    print(f'O {num3} é o maior')

if num1 <= num2 and num1 <= num3:
    print(f'O {num1} é o menor.')
elif num2 <= num1 and num2 <= num3:
    print(f'O {num2} é o menor')
elif num3 <= num1 and num3 <= num2:
    print(f'O {num3} é o menor')

Porém, olhando para o meu código, não me parece ser um código bonito. Gostaria de saber se há uma forma mais elegante de resolver esse exercício, como por exemplo, atribuir algum método que me passe a resposta ou algo do tipo.

PS: Eu estou resolvendo tudo de maneira procedural mesmo, pois os exercícios de funções e classes vem depois.

2 respostas
solução!

Não sei se é o que tu deseja, mas eu consegui fazer isso aqui, usando coisas que vi no começo do curso 2.

    minha_lista = [0,0,0]
    index = 0
    while( index < 3):
        numero = int(input("insira um numero: "))
        minha_lista[index] = numero
        index = index + 1

    print("O menor numero é: ", min(minha_lista))
    print("O maior numero é: ",max(minha_lista))

Bem melhor que o meu Richard, me esqueci dos métodos min e max :P

Obrigado!