Variable sum does not take the value within the loop!

Asked

Viewed 42 times

0

print ("Produto Numero 1")  
ValorDaMercadoria = float(input("Qual o valor da mercadoria? "))  

print("Produto 1",":",ValorDaMercadoria)  
NumeroDoProduto = 2  
ValorDaMercadoriaLaco = 1  

while ValorDaMercadoriaLaco != 0:  
    print ("Produto Numero",NumeroDoProduto)  
    ValorDaMercadoriaLaco = float(input("Qual o valor da mercadoria? "))  

    print("Produto",NumeroDoProduto,":",ValorDaMercadoriaLaco)  
    NumeroDoProduto = NumeroDoProduto + 1  
    SomaDosPrecosDasMercadorias = ValorDaMercadoria + ValorDaMercadoriaLaco  
print("Soma dos precos",SomaDosPrecosDasMercadorias)  
print ("Lojas Tabajara")  

Here in my code the sum is only taking my first number typed and not picking up the value that is typed inside the while.

1 answer

0


Rennan, it turns out your accumulator Somadosprecosdasmercadorias is receiving the value of the product but does not keep the previous value... To keep the values in the accumulator, you can use the signal +=

A possible fix would be the following, I left some comments to facilitate your reading of the code:

#Acumulador de valores
SomaDosPrecosDasMercadorias = 0
#Número do produto
NumeroDoProduto = 1
#Preço informado no laço
ValorDaMercadoriaLaco = -1

while ValorDaMercadoriaLaco != 0:
    print ("Produto Numero",NumeroDoProduto)  
    ValorDaMercadoriaLaco = float(input("Qual o valor da mercadoria? "))  

    print("Produto",NumeroDoProduto,":",ValorDaMercadoriaLaco)

    #Soma o número do produto
    NumeroDoProduto += 1
    #Acumula o valor do produto
    SomaDosPrecosDasMercadorias += ValorDaMercadoriaLaco

print("Soma dos precos",SomaDosPrecosDasMercadorias)  
print ("Lojas Tabajara")
  • I tried the way you suggested, but it didn’t work out. Somadosprecosdasmercadorias = Valuesmercadoria + Valuesmercadorico in this line of code above the Somadosprecosdasmercadorias only this storing the value of Valuesmercadoria, it is does not take the values typed in in the While.(Valuesmercadorico). last if I have for example x=x+1, it wouldn’t be the same as x+=1?

  • Renan, x +=1 is the same thing as x = x + 1... But in your example, you don’t use either.

  • I was able to solve this problem but I am with another. I am not using functions in my program pq in the resolution of the question can not do with function. at the end of the algorithm when it does the calculation as I do for it to manually go back to the start and ask again the values of the products?

  • If you cannot use functions, you will need to put virtually all your code within a loop.

Browser other questions tagged

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