2
respostas

Dúvida correlacionado a estrutura do código.

  1. Escreva um programa que leia três números e os exiba em ordem decrescente.

Fiquei com uma dúvida na questão pela a forma como o código que o professor colocou na opinião dele que no caso é

Alguém poderia me explicar a junção do código por completo, consigo entender até o if (n1 >= n2) and (n1 >= n3): print(n1)

depois dessa linha já não consigo ver tanto sentido, peço desculpas pela a ignorância mas estou tentando entender melhor o que cada função tá desempenhando dentro do código, acredito que assim consigo aprender melhor.

# Não entendi revisar mais

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

if (n1 >= n2) and (n1 >= n3):
  print(n1)
  if n2 >= n3:
    print(n2)
    print(n3)
  else:
      print(n3)
      print(n2)
elif (n2 >= n1) and (n2 >= n3):
  print(n2)
  if n1 >= n3:
    print(n1)
    print(n3)
  else:
    print(n3)
    print(n1)
else:
  print(n3)
  if n1 >= n2:
    print(n1)
    print(n2)
  else:
    print(n2)
    print(n1)
2 respostas

O código identifica o maior número, imprime-o e então ordena os outros dois. Ele usa if/elif/else para cobrir todas as 6 ordens possíveis dos números, garantindo a exibição decrescente. Apesar de extenso, é uma forma lógica e direta com condicionais básicas. Uma alternativa seria usar listas e a função sorted().

Também achei mais confuso do que explicativo a fórmula do professor. Mas obrigada pelas explicações David.