Enviar um café pro programador

Python - Recebe três números e exibe o maior e o menor

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



Código Comentado em Python

Vamos usar o mesmo código da questão anterior, pra achar o maior número:
Achar o maior número em Python 

Em seguida, vamos achar o menor.
A lógica é a mesma de achar o maior, primeiro fazemos com que a variável 'menor' receba o valor do 'primeiro' número.

Em seguida, comparamos se o segundo valor é menor que o primeiro.
Se for, a variável 'menor' agora vai receber o valor de 'segundo'.
Se não for menor, fica como está ('menor' continua com o valor de 'primeiro', que é o menor entre os dois primeiros números).

Agora vamos fazer o mesmo teste com o terceiro número.
Se ele for menor que o valor armazenado em 'menor', fazemos com que 'menor' receba o valor de 'terceiro'.

Nosso código fica:


 primeiro = int(input('Primeiro numero: '))
    segundo  = int(input('Segundo numero : '))
    terceiro = int(input('Terceiro numero: '))

    # Achando o maior número
    maior = primeiro

    if (segundo > maior):
        maior = segundo
    if (terceiro > maior):
        maior = terceiro

    print('Maior: ',maior)

    # Achando o menor número
    menor = primeiro

    if (segundo < menor):
        menor = segundo
    if (terceiro < menor):
        menor = terceiro

    print('Menor: ',menor)



40 comentários:

  1. muiiiiiiiiiiiiiiiito obrigado me ajudou, pois sou iniciante no python e tava ha tempos tentando, mas sem resultado.

    ResponderExcluir
  2. Eu também sou novato em programação e estava tentando sem sucesso até agora! Muito obrigado! Me ajudou muito!

    ResponderExcluir
  3. Como eu faço para resolver este problema usando "for c in range(1, 3 + 1)" ?

    ResponderExcluir
    Respostas
    1. for c in range(1, 4):
      peso = float(input(f'PESO {c}: '))
      if c == 1:
      maior = peso
      menor = peso
      elif peso > maior:
      maior = peso
      elif peso < menor:
      menor = peso
      print(f'O maior peso foi de {maior}\nO menor peso foi de {menor}')

      Excluir
  4. esse código está errado, se o segundo número e o terceiro forem maiores que o primeiro, o sistema aponta os dois como "maiores", corre, eles são maior que o primeiro número... mas não mostra qual é o maior entre o segundo e o primeiro, mas então no caminho certo, continue tentando


    Caso queira ver o erro com os próprios olhos faça o primeiro número ser menor que o segundo e o terceiro

    ResponderExcluir
    Respostas
    1. O código não esta errado, olhe bem o código e testa VC mesmo, ele usou so o if e não o else! Não deu erro nenhum! Se ele tivesse usado o else ai dava erro!

      Excluir
    2. ENTÃO TENTA A SEQUENCIA 2,1,3 SERA QUE O MAIOR É O 3 MESMO SEGUNDO O PROGRAMA?

      Excluir
    3. olha a identação do print filho. tem q acompanhar o 1º if

      Excluir
    4. identação o print tem q estar no bloco do 1º if

      Excluir
  5. O código está incompleto, falta a condição senão (else), logo o n1 como o amigo acima disse, não mostra qual é o maior entre o segundo e o primeiro.

    ResponderExcluir
    Respostas
    1. Mostra sim!tente executar o código ele não esta incompleto, se usassem o else o código dava erro! O código esta completamente certo, VC se enganou amigo

      Excluir
    2. o meu esta acusando o mesmo erro que o amigo denunciou sobre o código, porem em outros pycharm vejo que esta rodando, alguém sabe dizer o motivo?

      Excluir
  6. n1 = int(input('Informe o primeiro numero: '))
    n2 = int(input('Informe o segundo numero: '))
    n3 = int(input('Informe o terceiro numero: '))

    lista = [n1, n2, n3]

    print('O maior numero digitado foi: {} '.format(max(lista)))
    print('O menor numero digitado foi: {} '.format(min(lista)))

    ResponderExcluir
    Respostas
    1. Perfeito!!! Até se digitar números iguais ele resolve o problema.

      Excluir
  7. n1 = int(input('Informe o primeiro numero: '))
    n2 = int(input('Informe o segundo numero: '))
    n3 = int(input('Informe o terceiro numero: '))

    lista = [n1, n2, n3]

    print('O maior numero digitado foi: {} '.format(max(lista)))
    print('O menor numero digitado foi: {} '.format(min(lista)))

    ResponderExcluir
    Respostas
    1. usando sua dica,

      lista=[]
      for i in range(3):
      num=int(input("digite um numero: "))
      lista.append(num)
      print('O maior numero digitado foi: {} '.format(max(lista)))
      print('O menor numero digitado foi: {} '.format(min(lista)))

      Excluir
  8. Olá. E se considerarmos que o usuário não pode digitar números iguais?

    ResponderExcluir
  9. Consegui. Caso queiram que o usuário não possa digitar números iguais:

    n1= int(input("Digite o primeiro número: "))
    n2= int(input("Digite o seguno número: "))
    n3= int(input("Digite o terceiro número: "))

    if n1==n2 or n2==n3 or n3==n1:
    print("Digite valores diferentes.")
    else:
    maior = n1
    if n2>n1 and n2>n3:
    maior = n2
    elif n3>n1 and n3>n2:
    maior = n3
    print("O número maior é: ", maior)

    menor = n1
    if n2<n1 and n2<n3:
    menor = n2
    elif n3<n1 and n3<n2:
    menor = n3
    print("O número menor é: ", menor)

    ResponderExcluir
  10. #Calculando o maior,menor e média de 3 numeros
    num1=float(input("Insira o primeiro número:"))
    num2=float(input("Insira o segundo número:"))
    num3=float(input("Insira o terceiro número:"))
    # Achando o maior número
    maior=num1
    if(num2>num3):
    if (num2>maior):
    maior=num2
    elif (num3>maior):
    maior=num3
    # Achando o menor número
    menor=num1
    if(num2<num3):
    if (num2<menor):
    menor=num2
    elif (num3<menor):
    menor=num3
    diferenca=(maior-menor)
    soma=(num1+num2+num3)
    media=(soma/3)
    print("O maior número é {}\nO menor número {}\nA média é {}".format(maior,menor,media))

    ResponderExcluir
  11. alguém me ajuda?
    Crie um código que ache o valor 457, dentro de uma lista com os valores [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000] e retorne a sua posição.

    ResponderExcluir
    Respostas
    1. lista = [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000]
      for k,v in enumerate(lista):
      if v == 457:
      print(f'numero {v} encontrado na posiçao {k}')

      espero ter ajudado!!!

      Excluir
    2. lista = [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000]
      for k,v in enumerate(lista):
      if v == 457:
      print(f'numero {v} encontrado na posiçao {k}')

      espero ter ajudado!!

      Excluir
    3. lista = [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000]
      print('A posição do valor 457 é', lista.index(457)) #retorna posição

      Excluir
  12. print('\n')
    print('-=-' * 20)
    primeiro = float(input('\nDigite o primeiro valor: '))
    segundo = float(input('\nDigite o segundo valor: '))
    terceiro = float(input('\nDigite o terceiro valor: '))
    maior = primeiro
    menor = primeiro
    if segundo > maior and segundo > terceiro:
    maior = segundo
    if terceiro > maior and terceiro > segundo:
    maior = terceiro
    if segundo < menor and segundo < terceiro:
    menor = segundo
    if terceiro < menor and terceiro < segundo:
    menor = terceiro
    print('\n')
    print('-=-' * 20)
    print('Processando...')
    from time import sleep
    sleep(1)
    print('\nO valor mais alto é {}\nO valor mais baixo é {}\n'.format(maior, menor))
    print('-=-' *20)
    print('\n')

    ResponderExcluir
  13. Crie um código que ache o valor 457, dentro de uma lista com os valores [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000] e retorne a sua posição.

    ------------------ SOLUÇÃO --------------------

    lista = [45,598,468,75,1,9,369,259,457,98,59,67,2,99,000]
    print('A posição do valor 457 é', lista.index(457))

    ------------------ SAÍDA --------------------
    A posição do valor 457 é: 8

    ResponderExcluir
  14. maior = menor = 0
    for n in range(1,4):
    num = int(input(f"{n}º número: "))
    if n == 1:
    maior = menor = num
    if num > maior:
    maior = num
    if num < menor:
    menor = num
    print("O número maior é:",maior)
    print("O número menor é:",menor)

    ResponderExcluir
  15. Poderia analisar minha lógica, por favor?
    num1=int(input("Digite o primeiro número: "))
    num2=int(input("Digite o primeiro número: "))
    num3=int(input("Digite o primeiro número: "))

    if num1 < num2 and num2 < num3:
    print(num3, num1)
    elif num2 < num3 and num3 < num1:
    print(num2, num1)
    else:
    print(num1, num3)

    ResponderExcluir
  16. Dá pra resolver sem "if" e "else" também. Fica até mais enxuto o código:

    lista = []

    x = lista.append(int(input("Valor 01: ")))
    y = lista.append(int(input("Valor 02: ")))
    z = lista.append(int(input("Valor 03: ")))

    lista_ord = sorted(lista)

    print("Maior valor: ", lista_ord [2])
    print("Menor valor: ", lista_ord [0])

    ResponderExcluir
  17. num1 = int (input ('Digite o primeiro número inteiro: '))
    num2 = int (input ('Digite o segundo número inteiro: '))
    num3 = int (input ('Digite o terceiro número inteiro: '))

    maior = num1
    menor = num1

    if num2 > maior:
    maior = num2
    if num3 > maior:
    maior = num3

    print ('O maior número é ',maior)

    if num2 < menor:
    menor = num2
    if num3 < menor:
    menor = num3

    print ('O menor número é ',menor)

    input ()

    ResponderExcluir
  18. Criei uma variável para imprimir o valor repetido também. : )
    Fico admirado como você simplifica o código.

    numero01 = int(input(' Digite um número: '))
    numero02 = int(input(' Digite outro número: '))
    numero03 = int(input('Digite mais um número: '))

    maior_valor = numero01
    if numero02 > numero01 and numero02 > numero03:
    maior_valor = numero02

    elif numero03 > numero01 and numero03 > numero02:
    maior_valor = numero03


    menor_valor = numero01
    if numero02 < numero01 and numero02 < numero03:
    menor_valor = numero02

    elif numero03 < numero01 and numero03 < numero02:
    menor_valor = numero03

    valor_igual = ''
    if numero02 == numero01:
    valor_igual = numero02

    elif numero02 == numero03:
    valor_igual = numero02

    if numero03 == numero01:
    valor_igual = numero03

    elif numero03 == numero02:
    valor_igual = numero03

    else:
    valor_igual = 'Sem Valor Duplicado'

    print()
    print(f'O Maior número é: {maior_valor}')
    print(f'O Menor número é: {menor_valor}')
    print()
    print(f'Valor repetido: {valor_igual}')

    ResponderExcluir

  19. Elabore uma função que receba três números e exiba na tela: (1) o produto do dobro do primeiro com metade do segundo; (2) a soma do triplo do primeiro com o terceiro; e (3) o terceiro elevado ao cubo.Pessoal alguém poderia me ajudar?

    ResponderExcluir
  20. Elabore uma função que receba três números e exiba na tela: (1) o produto do dobro do primeiro com metade do segundo; (2) a soma do triplo do primeiro com o terceiro; e (3) o terceiro elevado ao cubo.Pessoal alguém poderia me ajudar?

    ResponderExcluir
  21. Obrigado, eu ainda não sabia que podia usar o if sem o else

    ResponderExcluir
  22. Eu fiz por essa solução:

    first_num = int(input('Insira o primeiro número: '))
    second_num = int(input('Informe o segundo número: '))
    third_num = int(input('Informe o terceiro número: '))

    lista_numeros = []

    lista_numeros.append(first_num)
    lista_numeros.append(second_num)
    lista_numeros.append(third_num)

    print(f'O maior número na lista é o {max(lista_numeros)} e o menor número é o {min(lista_numeros)}')

    ResponderExcluir
  23. Solução:

    x = float(input("informe um número: "))
    y = float(input("informe um número: "))
    z = float(input("informe um número: "))


    if x==y or x==z or y==z:
    print('Digite numeros diferentes!')
    else:
    if x>y and x>z:
    print("o maior numero é: ",x)
    else:
    if y>x and y>z:
    print("o maior numero é: ",y)
    else:
    print("o maior numero é: ",z)
    if x<y and x<z:
    print("o menor numero é: ",x)
    else:
    if y<x and y<z:
    print("o menor numero é: ",y)
    else:
    print("o menor numero é: ",z)

    ResponderExcluir