As you can see in the code below, I tried in several ways to make each inserted product a new code with codigo += 1
, but it is returning:
UnboundLocalError: local variable 'code' referenced before assignment!
Placing this line as a comment and following the code I get a problem inserting user-entered product data into arquivo.txt
.
I've tried% w / o%, manually 1 for 1, and I can not. If you add 1 item only with the filled name and with the quantity, prices and total commented it normally adds, but more than 1 already returns the error of for
Thank you for your attention.
import time
arquivo = open('arquivo.txt','w')
quantidade = codigo = 0
produto = ""
preCompra = preVenda = total = 0
def menu():
print("Digite a opção desejada: \n0. Sair do programa\n1. Adicionar produto\n2. Remover produto")
opcao = int(input("Que opção você escolhe? "))
if opcao < 0:
print("Esta não é uma opção válida!")
elif opcao == 0:
print("Saindo do programa!")
exit
elif opcao == 1:
addProduto()
elif opcao == 2:
print("Você escolheu a opção 2!")
else:
print("Você deve escolher um dos itens da lista!")
def addProduto():
#codigo += 1
produto = str(input("Qual o nome do produto? "))
quantidade = int(input("Quantos produtos? "))
preCompra = float(input("Qual o preço de compra? "))
preVenda = float(input("Qual o preço de venda? "))
total = float(preCompra * quantidade)
produtosAdd = [produto, quantidade, preCompra, preVenda, total]
try:
'''for pro in produtosAdd:
arquivo.writelines(produtosAdd)
arquivo.close()'''
arquivo.write(produtosAdd)
print("Produto adicionado com sucesso!")
except:
print("Ocorreu um erro!\n")
time.sleep(5)
menu()
if __name__ == "__main__":
menu()