3
I’m doing Exercise 28 of the website’s Decision Structure list [Pythonbrasil] (https://wiki.python.org.br/EstruturaDeDecisao) but when I include the code for when the user chooses an invalid option to terminate the program all the options I choose (even the right ones) terminates the program.
Code with probable error:
if tipo_da_carne.lower() != "f" or tipo_da_carne.lower() != "a" or tipo_da_carne.lower() != "p":
print()
print("{}".format("="*64))
print("{}Opção Invalida".format(" "*25))
print("{}".format("="*64))
print()
sys.exit()
Complete Code:
import sys
print()
print("{}".format("="*64))
print("{}Seja bem vindo ao Supermercado Tabajara".format(" "*12))
print("{}".format("="*64))
print()
tipo_da_carne = str(input("Precione F para File Duplo, A para Alcatra ou P para Picanha: "))
if tipo_da_carne.lower() != "f" or tipo_da_carne.lower() != "a" or tipo_da_carne.lower() != "p":
print()
print("{}".format("="*64))
print("{}Opção Invalida".format(" "*25))
print("{}".format("="*64))
print()
sys.exit()
qtd_carne = float(input("Digite a quantidade que vai querer: "))
tipo_pagamento = str(input("Caso tenha o cartão tabajara precione C ou D para dinheiro: "))
print()
print("{}".format("="*64))
print("{}Nota Fiscal".format(" "*26))
print("{}".format("="*64))
print()
#File Duplo
if tipo_da_carne.lower() == "f":
print("Tipo da carne: File Duplo")
print("Quantidade: {}".format(round(qtd_carne, 2)))
#Calcular desconto por Kg
if qtd_carne <= 5:
preço_file_duplo = qtd_carne * 4.90
else:
preço_file_duplo = qtd_carne * 5.80
#Preço Bruto
print("Preço total: R${}".format(round(preço_file_duplo, 2)))
#Catão Tabajara
if tipo_pagamento.lower() == "c":
print("Tipo de pagamento: Catão Tabajara")
valor_desconto = preço_file_duplo * 0.05
valor_pagar = preço_file_duplo - valor_desconto
print("Desconto: R${}".format(round(valor_desconto, 2)))
print("Preço Final: R${}".format(round(valor_pagar, 2)))
else:
print("Tipo de pagamento: Dinheiro")
print("Desconto: R$0.0")
print("Preço Final: R${}".format(round(preço_file_duplo, 2)))
#Alcatra
if tipo_da_carne.lower() == "a":
print("Tipo da carne: Alcatra")
print("Quantidade: {}".format(round(qtd_carne, 2)))
#Calcular desconto por Kg
if qtd_carne <= 5:
preço_alcatra = qtd_carne * 4.90
else:
preço_alcatra = qtd_carne * 5.80
#Preço Bruto
print("Preço total: R${}".format(round(preço_alcatra, 2)))
#Catão Tabajara
if tipo_pagamento.lower() == "c":
print("Tipo de pagamento: Catão Tabajara")
valor_desconto = preço_alcatra * 0.05
valor_pagar = preço_alcatra - valor_desconto
print("Desconto: R${}".format(round(valor_desconto, 2)))
print("Preço Final: R${}".format(round(valor_pagar, 2)))
else:
print("Tipo de pagamento: Dinheiro")
print("Desconto: R$0.0")
print("Preço Final: R${}".format(round(preço_alcatra, 2)))
#Picanha
if tipo_da_carne.lower() == "p":
print("Tipo da carne: Picanha")
print("Quantidade: {}".format(round(qtd_carne, 2)))
#Calcular desconto por Kg
if qtd_carne <= 5:
preço_picanha = qtd_carne * 4.90
else:
preço_picanha = qtd_carne * 5.80
#Preço Bruto
print("Preço total: R${}".format(round(preço_picanha, 2)))
#Catão Tabajara
if tipo_pagamento.lower() == "c":
print("Tipo de pagamento: Catão Tabajara")
valor_desconto = preço_picanha * 0.05
valor_pagar = preço_picanha - valor_desconto
print("Desconto: R${}".format(round(valor_desconto, 2)))
print("Preço Final: R${}".format(round(valor_pagar, 2)))
else:
print("Tipo de pagamento: Dinheiro")
print("Desconto: R$0.0")
print("Preço Final: R${}".format(round(preço_picanha, 2)))
print()
print("{}".format("="*64))
print()
Sorry for the many error in the code I am new in programming and I’m starting to learn now, for sure your help to simplify the code will help me a lot to evolve in the area, Thank you !
– Lucas Estevam
@Lucasestevam No need to apologize, the important thing is to learn and not make the same mistakes again :-) Another thing: if one of the answers solved your problem, you can choose the one that best solved it and accept it, see here how and why to do it. It is not mandatory, but it is a good practice of the site, to indicate to future visitors that it solved the problem. And when I get 15 points, you can also vote in all the answers you found useful.
– hkotsubo