1
resposta

[Dúvida] Aula 3 - Estruturas condicionais (Exercício da Questão 4)

Olá pessoal, tudo bem?

O exercício pede o seguinte "Escreva um programa que leia valores médios de preços de um modelo de carro por 3 anos consecutivos e exiba o valor mais alto e mais baixo entre esses três anos."

Fiz o código abaixo:

valor_2015 = int(input('Digite o valor do Palio em 2015:'))  
valor_2016 = int(input('Digite o valor do Palio em 2016:'))  
valor_2017 = int(input('Digite o valor do Palio em 2017:'))  

if valor_2015 > valor_2016 and valor_2016 > valor_2017:
  print(f'O maior valor foi o de {valor_2015} do ano de 2015')
  print(f'O menor valor foi o de {valor_2017} do ano de 2017')
elif valor_2015 > valor_2017 and valor_2017 > valor_2016:
  print(f'O maior valor foi o de {valor_2015} do ano de 2015')
  print(f'O menor valor foi o de {valor_2016} do ano de 2016')
elif valor_2016 > valor_2015 and valor_2015 > valor_2017:
  print(f'O maior valor foi o de {valor_2016} do ano de 2016')
  print(f'O menor valor foi o de {valor_2017} do ano de 2017')
elif valor_2016 > valor_2017 and valor_2017 > valor_2015:
  print(f'O maior valor foi o de {valor_2016} do ano de 2016')
  print(f'O menor valor foi o de {valor_2015} do ano de 2015')
elif valor_2017 > valor_2015 and valor_2015 > valor_2016:
  print(f'O maior valor foi o de {valor_2017} do ano de 2017')
  print(f'O menor valor foi o de {valor_2016} do ano de 2016')
else:
  print(f'O maior valor foi o de {valor_2017} do ano de 2017')
  print(f'O menor valor foi o de {valor_2015} do ano de 2015')

código gerado no colab

A minha dúvida é, eu fiz o que o exercício pediu? Ou eu não tive uma boa interpretação do exercício? O código está funcionando pelo que testei, minha dúvida é mais pq gastei muito mais tempo nesse exercício que em todos os outros.

Obrigado.!

1 resposta

Oi, Guilherme! Tudo bem com você?

Com certeza você fez o que o exercício pediu! Na programação, existem diferentes caminhos possíveis para solucionar um problema. No seu caso, é uma forma completamente válida, mas que pode ser refatorada.

Na seção "Opinião do instrutor", temos uma alternativa bem legal. Acompanhe comigo:

# Coletamos os preços dos 3 anos
preco_ano1 = float(input('Informe o preço médio do carro no primeiro ano: '))
preco_ano2 = float(input('Informe o preço médio do carro no segundo ano: '))
preco_ano3 = float(input('Informe o preço médio do carro no terceiro ano: '))

# Determinamos o maior valor através de comparações
maior = preco_ano1
if preco_ano2 > maior:
  maior = preco_ano2
if preco_ano3 > maior:
  maior = preco_ano3

# Determinamos o menor valor através de comparações
menor = preco_ano1
if preco_ano2 < menor:
  menor = preco_ano2
if preco_ano3 < menor:
  menor = preco_ano3

# Mostramos o resultado
print(f'O preço mais alto foi de R$ {maior}.')
print(f'O preço mais baixo foi de R$ {menor}.')

Após receber do usuário os três preços, os comparamos para encontrar o maior valor. A variável maior é inicializada com o preço do primeiro ano e é atualizada se os preços dos anos seguintes forem maiores. Depois disso, replicamos tal lógica para entrar o menor valor: a variável menor é inicializada com o preço do primeiro ano e é atualizada se os preços dos anos seguintes forem menores.

Neste exemplo de código, conseguimos realizar uma leitura mais fluída das etapas que estão sendo executadas. O que é muito importante quando pensamos em Python, Guilherme.

Durante o nosso processo de desenvolvimento, "quebraremos a cabeça" várias vezes até encontrar a maneira mais adequada de resolver uma questão! :)

Continue praticando, Guilherme! Fico à disposição para te ajudar caso novas dúvidas apareçam.

Um forte abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!