Ir para conteúdo
Fórum Script Brasil
  • 0

[HELP] Ajuda com programa !


Isildur1

Pergunta

Ola boa tarde! 

Foi passado pelo professor uma lista de alguns exercícios e acabei travando no ultimo

alguém pode me ajudar?

Capturar.PNG.a4952349051933c92b6f8f0999bdd8bd.PNG

a minha tentativa ficou assim: 

codigo = 1
quantidade = 0
invalido = 0
valor = 0
precototal = 0

while codigo != 0:
    codigo = int(input("Digite o código do produto: "))

    if (codigo == 0):
        print("O valor total da compra é: R$%.2f" % valortotal, "reais.")
        precototal = 0
        invalido = 1
    elif (codigo == 1):
        valor += 0.5
        invalido = 0
    elif (codigo == 2):
        valor += 1.00
        invalido = 0

    elif (codigo == 3):
        valor += 4.00
        invalido = 0

    elif (codigo == 5):
        valor += 7.00
        invalido = 0

    elif (codigo == 9):
        valor += 8.00
        invalido = 0
    else:
        print(" Codigo Invalido ")
        invalido = 1

    if (invalido == 0):
        quantidade = int(input("Digite a quantidade desejada: "))
        valortotal = valor * quantidade
        print("R$%.2f" % valortotal)

 

Mas quando aperto 0, ao invés dele somar todos as quantidades, de todos os itens ele passa apenas o total do ultimo item...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Mano, as linhas q você soma o valor com o valor mais o preço começam a somar valores errados dependendo da quantidade....porque seu codigo soma o valor + preço e só depois vai multiplicar com a quantidade, aí acontece um erro de soma quando utiliza mais de 1 quantidade....

Toda vez q você aperta 0, o q mostra é a ultima parcial do valor total, ele não deve ser mostrado, mas sim o preço total q você definiu no início mas n atribuiu valores dps....n sei se estou explicando direito mas eu fiz algumas mudanças no teu código, olha:

codigo = 1
quantidade = 0
invalido = 0
valor = 0
precototal = 0
valorparcial = 0

while codigo != 0:
    codigo = int(input("Digite o código do produto: "))

    if (codigo == 1):
        valor = 0.5
        invalido = 0
    elif (codigo == 2):
        valor = 1.00
        invalido = 0

    elif (codigo == 3):
        valor = 4.00
        invalido = 0

    elif (codigo == 5):
        valor = 7.00
        invalido = 0

    elif (codigo == 9):
        valor = 8.00
        invalido = 0
    else:
        print(" Codigo Invalido ")
        invalido = 1

    if (invalido == 0):
        quantidade = int(input("Digite a quantidade desejada: "))
        valorparcial2 = valor * quantidade
        valorparcial += valorparcial2
        print("R$%.2f" % valorparcial)
        precototal = precototal + valorparcial2

    if (codigo == 0):
         print("O valor total da compra é: R$%.2f" % precototal, "reais.")
         invalido = 1

 

aqui ele tá fazendo tudo certo, eu defini uma variavel pra mostrar a parcial do preço (valorparcial2) e outra pra acumular essa parcial para ser mostrada no preço total...note q também tirei os acumuladores da variavel  "valor'' pra não haver mais aquele erro de resultado....isso é tudo mano....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...