Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duvida - Ex 04

Por favor, me ajudar na execução do else, o programa entende os anos 01 e 02, mas caso o valor seja o mais alto no ano 03 o else não roda. Não sei onde pode estar o erro.

ano_01 = float(input('Digite o primeiro valor medio: '))
ano_02 = float(input('Digite o segundo valor medio: '))
ano_03 = float(input('Digite o terceiro valor medio: '))

if ano_01 > ano_02 and ano_03:
  print(f'O ano 01 teve o valor mais alto - valor {ano_01}')
elif ano_02 > ano_01 and ano_03:
  print(f'O ano 02 teve o valor mais alto - valor {ano_02}')
elif ano_01 == ano_02 or ano_01 == ano_03 or ano_02 == ano_03:
  print(f'Verificar valores alocados!')
else:
  print(f'O ano 03 teve o valor mais alto - valor {ano_03}')
1 resposta
solução!

Olá, quando você usa o AND você precisa repetir a igualdade ou a desigualdade. Neste caso, quando você cria uma condição para se ano_1 for maior que ano_2 e ano_3, você precisa desigualar o ano_1 tanto com o ano_2, quanto com o ano_3, ou seja:

if ano_01 > ano_02 and ano_01 > ano_03:
    print(f'O ano 01 teve o valor mais alto - valor {ano_01}')

E a mesma coisa serve para se o ano_2 for maior que o ano_1 e maior que o ano_3, ou seja:

elif ano_02 > ano_01 and ano_02 > ano_03:
    print(f'O ano 02 teve o valor mais alto - valor {ano_02}')

As outras estão corretas já que a igualdade esta repetida e o else não precisa de condição a ser verdadeira.

Espero que tenha ajudado e tenha dado para entender. :) Bons estudos!