*Python , discounted calculations are giving a wrong value, why?

Asked

Viewed 77 times

-1

tipo_comb = input('Digite [G} para gasolina \nE [A] para alcool: ')
quantidade = float(input('Quantidade desejada: '))
cadastro = input('Digite [C] se possuir cadastro \nDigite [D] se não possuir cadastro: ')
gasolina = float(4.34*quantidade)
alcool = float(3.79*quantidade)


#não clientes e gasolina
if cadastro == 'D' or cadastro == 'd' and quantidade <= 20 and tipo_comb == 'G' or tipo_comb== 'g':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
        quantidade,gasolina, (gasolina - gasolina*0.03)))
elif cadastro == 'D' or cadastro == 'd' and quantidade >20 and tipo_comb == 'G' or tipo_comb == 'g':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
        quantidade, gasolina, (gasolina - gasolina * 0.05)))



#não clientes e alcool
elif cadastro == 'd' or cadastro =='D' and quantidade <= 20 and tipo_comb == 'a' or tipo_comb=='A':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
            quantidade, alcool, (alcool - alcool* 0.03)))
elif cadastro == 'D' or cadastro == 'D' and quantidade >20 and tipo_comb == 'A' or tipo_comb== 'a' :
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
            quantidade, alcool, (alcool - alcool * 0.05)))



#clientes e alcool    
elif cadastro == 'C' or cadastro == 'c' and quantidade <= 20 and tipo_comb == 'a' or tipo_comb == 'A':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
            quantidade, alcool, (alcool - alcool * 0.055)))
elif cadastro == 'C' or cadastro == 'c' and quantidade >20 and tipo_comb== 'a' or tipo_comb == 'A':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
            quantidade, alcool, (alcool - alcool * 0.075)))



#clientes e gasolina

elif cadastro == 'C' or cadastro == 'c' and quantidade <= 20 and tipo_comb== 'G' or tipo_comb == 'g':
    print('você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
        quantidade,gasolina, (gasolina-gasolina*0.065)))
elif cadastro == 'C' or cadastro == 'c' and quantidade >20 and tipo_comb == 'G' or tipo_comb == 'g':
    print( 'você comprou {} litros, sem desconto seriam: {:.3f} reais \nO valor total com desconto é de {:.3f} reais'.format(
                quantidade, gasolina, (gasolina - gasolina * 0.085)))

1 answer

0


the correction for this if using parentheses to separate if conditions

if (cadastro == 'D' or cadastro == 'd') and quantidade <= 20 and (tipo_comb == 'G' or tipo_comb== 'g'): 

Browser other questions tagged

You are not signed in. Login or sign up in order to post.