1
resposta

[Dúvida] assim ta bom?

v1 = int(input('digite a media do valor do carro do primeiro ano'))
v2 = int(input('digite a media do valor do carro do segundo ano'))
v3 = int(input('digite a media do valor do carro do terceiro ano'))
if v1 > v2 and v1 > v3:
  print(f'{v1}, o carro esteve mais caro no primeiro ano')
elif v2 > v1 and v2 > v3:
  print(f'{v2}, carro mais caro no segundo ano')
else:
  print(f'custando {v3}, foi o terceiro ano o carro mais caro')
if v1 < v2 and v1 < v3:
  print(f'{v1}, o carro esteve mais barato no primeiro ano')
elif v2 < v1 and v2 < v3:
  print(f'{v2}, carro mais barato no segundo ano')
else:
  print(f'custando {v3}, foi o terceiro ano o carro mais barato')
1 resposta

Oii, Wesley! Tudo bem?

Fico muito feliz em ver que você está praticando. Resolver desafios é o melhor caminho para fixar a lógica de programação.

Analisando o seu código, a lógica principal para encontrar o maior e o menor valor está correta e funcional. Você utilizou bem as estruturas if, elif e else para separar os casos.

Tenho apenas alguns pontos que podem ajudar a deixar seu código mais prevenido contra erros e mais completo, acompanhando o que o desafio pedia:

1. Números iguais:

No seu código atual, se dois anos tiverem o mesmo valor (por exemplo, R$ 20.000 no ano 1 e R$ 20.000 no ano 2), o else será acionado e dirá que o terceiro ano foi o mais caro, mesmo que o valor dele seja menor.

Uma forma de resolver isso é usar o operador >= (maior ou igual) ou incluir uma verificação para valores idênticos.

2. Uso do float:

Para valores de carros, é interessante usar float() em vez de int(). Isso porque preços raramente são apenas números inteiros; eles costumam ter casas decimais (os centavos).

Um exemplo:

v1 = float(input('Digite a média do valor do carro do primeiro ano: '))
v2 = float(input('Digite a média do valor do carro do segundo ano: '))
v3 = float(input('Digite a média do valor do carro do terceiro ano: '))

# lógica para o maior valor
if v1 >= v2 and v1 >= v3:
    print(f'R$ {v1:.2f}, o carro esteve mais caro no primeiro ano.')
elif v2 >= v1 and v2 >= v3:
    print(f'R$ {v2:.2f}, o carro esteve mais caro no segundo ano.')
else:
    print(f'R$ {v3:.2f}, o carro esteve mais caro no terceiro ano.')

# lógica para o menor valor
if v1 <= v2 and v1 <= v3:
    print(f'R$ {v1:.2f}, o carro esteve mais barato no primeiro ano.')
elif v2 <= v1 and v2 <= v3:
    print(f'R$ {v2:.2f}, o carro esteve mais barato no segundo ano.')
else:
    print(f'R$ {v3:.2f}, o carro esteve mais barato no terceiro ano.')

O uso do :.2f dentro das chaves serve para formatar o número com duas casas decimais, deixando o valor com cara de dinheiro.

Seu raciocínio está ótimo. Continue evoluindo nos próximos exercícios do projeto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!