

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!


Ei! Tudo bem, Leila?
Parabéns pela resolução do desafio de programação e pela prática com as estruturas condicionais em Python! Seus códigos estão muito bem estruturados e mostram que você pegou direitinho a lógica dos operadores lógicos e blocos condicionais.
Na questão 4, o programa pede três preços médios de carros. Mas, os valores digitados foram lidos pelo Python como textos (strings) e não como números.
Quando comparamos textos usando os operadores > ou <, o Python não olha o valor matemático, mas sim a ordem alfabética caractere por caractere. Por isso, no seu teste, ele apontou que o preço mais alto foi 7000.00 (porque o caractere '7' vem depois do caractere '1' de 10000000.00).
Uma forma de corrigir isso é converter a entrada do usuário usando float().
Veja como fica o código:
ano1 = float(input("Digite o preço médio do carro no primeiro ano: "))
ano2 = float(input("Digite o preço médio do carro no segundo ano: "))
ano3 = float(input("Digite o preço médio do carro no terceiro ano: "))
maior = ano1
if ano2 > maior:
maior = ano2
if ano3 > maior:
maior = ano3
menor = ano1
if ano2 < menor:
menor = ano2
if ano3 < menor:
menor = ano3
print("O preço mais alto foi", maior, "e o preço mais baixo foi", menor)
Saída:
Digite o preço médio do carro no primeiro ano: 50000.00
Digite o preço médio do carro no segundo ano: 7000.00
Digite o preço médio do carro no terceiro ano: 10000000000.00
O preço mais alto foi 10000000000.0 e o preço mais baixo foi 7000.0
Fazendo essa pequena alteração, o Python passará a comparar os valores matemáticos corretamente! As demais questões (como a verificação de triângulos, vogais e turnos) ficaram ótimas.
Você conseguiu entender essa diferença entre comparar textos e números no Python?