1
resposta

[Dúvida] Dúvida entre elif e if na questão 4

Boa tarde!

Alguem poderia me ajudar a entender a diferença entre usar o if e o elif na questão 4? Ao usar elif, não tenho retorno correto. Mas quando troquei tudo pra if, trouxe os valores corretos.

print('Insira a média do valor dos seguintes anos: ')
m1 = input('2021: ').replace(',','.').rstrip('R$')
m1 = float(m1)
m2 = input('2022: ').replace(',','.').rstrip('R$')
m2 = float(m2)
m3 = input('2023: ').replace(',','.').rstrip('R$')
m3 = float(m3)
m_alta = m1
if m2 > m_alta:
  m_alta = m2
elif m3 > m_alta:
  m_alta = m3

m_baixa = m1
if m2 < m_baixa:
  m_baixa = m2
elif m3 < m_baixa:
  m_baixa = m3

print(f'A maior média é R${m_alta} e a menor é R${m_baixa}')

Obrigado!!

1 resposta

Olá Rodrigo, tudo bem?

A diferença entre if e elif se resume basicamente ao controle de fluxo do seu código. O if inicia uma nova condição, independente das anteriores, enquanto o elif é uma continuação do if anterior e só é avaliado se a condição do if (ou de outro elif anterior) não for verdadeira.

No seu código, ao usar elif para verificar se m3 é maior ou menor que as médias anteriores, você só executa essa verificação se a condição m2 > m_alta ou m2 < m_baixa for falsa. Isso significa que, se m2 for maior ou menor que m1, m3 não será comparado com m_alta ou m_baixa, respectivamente.

Para garantir que todas as médias sejam comparadas corretamente, você pode substituir os elif por if após a primeira verificação. Isso fará com que cada condição seja verificada independentemente das outras.

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!