Falta pouco!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Sugestão] Aula 03 Estruturas condicionais: Questão 4 e 5:

Olá, gostaria de saber se estou pulando alguma etapa do código, saiu como eu gostaria, mas queria uma opinião dentro do aprendizado das aulas, 'Estruturas condicionais'.

Questão 04: 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.

carro_ano1 = float(input('Digite o preço do automóvel ano 01: '))
carro_ano2 = float(input('Digite o preço do automóvel ano 02: '))
carro_ano3 = float(input('Digite o preço do automóvel ano 03: '))


if carro_ano1 < carro_ano3:
  print('Menor preço do automóvel:'.upper(), carro_ano1)

if carro_ano3 > carro_ano1:
  print('Maior preço do automóvel:'.upper(), carro_ano3)

SAÍDA:

Digite o preço do automóvel ano 01: 25000
Digite o preço do automóvel ano 02: 35000
Digite o preço do automóvel ano 03: 42000
MENOR PREÇO DO AUTOMÓVEL: 25000.0
MAIOR PREÇO DO AUTOMÓVEL: 42000.0

Questão 05: Escreva um programa que pergunte sobre o preço de três produtos e indique qual é o produto mais barato para comprar.

produto_1 = float(input('Digite o preço do produto 01: '))
produto_2 = float(input('Digite o preço do produto 02: '))
produto_3 = float(input('Digite o preço do produto 03: '))

if produto_3 < produto_1 and produto_2:
  print('Produto mais barato:R$'.upper(),produto_3)

SAÍDA:
Digite o preço do produto 01: 2099
Digite o preço do produto 02: 1899
Digite o preço do produto 03: 1699
PRODUTO MAIS BARATO:R$ 1699.0

2 respostas
solução!

Olá, Pedro! Como vai?

O primeiro código compara apenas dois dos três valores e pode gerar resultados incorretos dependendo da ordem dos preços. Vou deixar aqui uma versão corrigida para identificar corretamente o menor e o maior preço entre os três anos:

carro_ano1 = float(input('Digite o preço do automóvel ano 01: '))
carro_ano2 = float(input('Digite o preço do automóvel ano 02: '))
carro_ano3 = float(input('Digite o preço do automóvel ano 03: '))

menor_preco = min(carro_ano1, carro_ano2, carro_ano3)
maior_preco = max(carro_ano1, carro_ano2, carro_ano3)

print('MENOR PREÇO DO AUTOMÓVEL:', menor_preco)
print('MAIOR PREÇO DO AUTOMÓVEL:', maior_preco)

Esse código usa as funções embutidas min() e max() para comparar os três valores de forma eficiente e precisa.

E o segundo código tem um erro no trecho if produto_3 < produto_1 and produto_2 porque a segunda parte da condição (and produto_2) não está sendo comparada corretamente. Uma versão corrigida para identificar o produto mais barato entre os três:

produto_1 = float(input('Digite o preço do produto 01: '))
produto_2 = float(input('Digite o preço do produto 02: '))
produto_3 = float(input('Digite o preço do produto 03: '))

menor_preco = min(produto_1, produto_2, produto_3)

print('PRODUTO MAIS BARATO: R$', menor_preco)

Outra forma é fazer assim:

produto_1 = float(input('Digite o preço do produto 01: '))
produto_2 = float(input('Digite o preço do produto 02: '))
produto_3 = float(input('Digite o preço do produto 03: '))

if produto_1 < produto_2 and produto_1 < produto_3:
    print('PRODUTO MAIS BARATO: Produto 01 - R$', produto_1)
elif produto_2 < produto_1 and produto_2 < produto_3:
    print('PRODUTO MAIS BARATO: Produto 02 - R$', produto_2)
else:
    print('PRODUTO MAIS BARATO: Produto 03 - R$', produto_3)

Ambas as versões funcionam bem, dependendo do nível de detalhe que você deseja mostrar.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Olá, bem mais fácil de ser criar o código da forma que você explicou, obrigado!