2
respostas

[Dúvida] Questão 6:

Olá estou na duvida se posso usar o seguinte raciocínio para a questao 6, ou estaria alguma coisa fora dessas condições? teria que colocar algo de igualdade?

# Coletamos os numeros
n1 = float(input('Digite o 1º número: '))
n2 = float(input('Digite o 2º número: '))
n3 = float(input('Digite o 3º número: '))

if n1 < n2 and n2 < n3:
  print(f'{n3}, {n2}, {n1}')
elif n2 < n1 and n1 < n3:
  print(f'{n3}, {n1}, {n2}')
elif n3 < n1 and n1 < n2:
  print(f'{n2}, {n1}, {n3}')
2 respostas

Olá, tudo bem?

O seu código está indo bem, mas ele não cobre todos os casos possíveis, principalmente quando dois números são iguais ou estão em outra ordem. Por exemplo, se você digitar:

  • n1 = 3, n2 = 2, n3 = 1 → seu código não mostra nada, porque essa ordem não está nos seus if

Abaixo deixo uma sugestão:

n1 = float(input('Digite o 1º número: '))
n2 = float(input('Digite o 2º número: '))
n3 = float(input('Digite o 3º número: '))

if n1 >= n2 and n2 >= n3:
    print(f'{n1}, {n2}, {n3}')
elif n1 >= n3 and n3 >= n2:
    print(f'{n1}, {n3}, {n2}')
elif n2 >= n1 and n1 >= n3:
    print(f'{n2}, {n1}, {n3}')
elif n2 >= n3 and n3 >= n1:
    print(f'{n2}, {n3}, {n1}')
elif n3 >= n1 and n1 >= n2:
    print(f'{n3}, {n1}, {n2}')
else:
    print(f'{n3}, {n2}, {n1}')

Note que utilizei >= em vez de apenas < para garantir que os casos de igualdade sejam tratados corretamente. Com isso, o programa deve exibir os números em ordem decrescente, mesmo que alguns deles sejam iguais.

Destaco, que você também poderá ver outra resolução no botão :

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

O código só cobre algumas combinações possíveis de ordem dos três númerosmas, não todas. Além disso, não trata os casos em que dois ou três números são iguais, o que pode levar o programa a não imprimir nada em algumas situações.

eu utilizei o codigo a baixo:

num1 = float(input('Digite 1º número:: '))
num2 = float(input('Digite 2º número:: '))
num3 = float(input('Digite 3º número:: '))

if num1 >= num2 and num1 >= num3:

    if num2 >= num3:	
        print(num1, num2, num3)
        print('Em ordem decrescente')		
    else:	
        print(num1, num3, num2)
        print('Em ordem decrescente')		
        
elif num2 >= num1 and num2 >= num3:

    if num1 >= num3:
        print(num2, num1, num3)
        print('Em ordem decrescente')	
    else:	
        print(num2, num3, num1)
        print('Em ordem decrescente')		
        
else:

    if num1 >= num2:	
        print(num3, num1, num2)
        print('Em ordem decrescente')		
    else:	
        print(num3, num2, num1)
        print('Em ordem decrescente')