2
respostas

[Dúvida] Exercício 5 - Aula 3

Boa tarde, pessoal,

Meu resultado está exatamente igual ao exibido na opinião do instrutor, porém ao testar no notebook verifiquei que na etapa de verificação se existem 2 preços menores iguais ele está considerando apenas o primeiro if, exibindo a mensagem de que "o primeiro e o segundo produto são os mais baratos". Quando testo as duas outras opções p1==p3 e p2==p3, ele desconsidera os elif e só mostra o primeiro valor: "o primeiro produto é o mais barato" e "o segundo produto é o mais barato" respectivamente. O que poderia estar errado no código?


p1 = float(input('Digite o preço do primeiro produto: '))
p2 = float(input('Digite o preço do segundo produto: '))
p3 = float(input('Digite o preço do terceiro produto: '))

if p1 < p2 and p3:
  print('O primeiro produto é o mais barato.')
elif p2 < p1 and p3:
  print('O segundo produto é o mais barato.')
elif p3 < p1 and p2:
  print('O terceiro produto é o mais barato.')
elif p1 == p2 == p3:
  print('Os produtos possuem o mesmo preço.')
else:
  if p1 == p2:
    print('O primeiro e o segundo produto são os mais baratos.')
  elif p2 == p3:
    print('O segundo e o terceiro produto são os mais baratos.')
  elif p1 == p3:
    print('O primeiro e o terceiro produto são os mais baratos.')
2 respostas

else: if p1 == p2: print('O primeiro e o segundo produto são os mais baratos.') elif p2 == p3: print('O segundo e o terceiro produto são os mais baratos.') elif p1 == p3:

  Nessa parte do código você tem que colocar um else dentro desse "if", pois ele só vai executar o "else" se o comando retratado no "if" for falso.

Alterei como você sugeriu, mas continua ocorrendo o mesmo erro.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software