tenho o seguinte código (funcionando):
import mysql.connector
mydb = mysql.connector.connect(host='localhost', database='db_farmacia', user='root', password='')
cursor = mydb.cursor()
total_compra = valor_item = troco = 0
produtos_comprados = ()
qtd_produtos = 0
while True:
codigo = input('nDigite o código de um produto: ')
sql = f"select nome_produto, preço from tb_produtos where codigo = '{codigo}';"
cursor.execute(sql) # comando que executa a instrução SQL acima
for (nome_produto, preço) in cursor:
print(nome_produto)
print(preço)import mysql.connector
Gostaria de saber como faço para:
-
colocar o valor do preço do produto buscado em uma variável chamada “valor_produto”. (Essa variável será usada para somar e dar o total da compra). Lembrando que ela é do tipo float.
-
Depois eu vou criar uma variável assim(igual era no antigo código sem uso de banco de dados):
total_compra += valor_produto -
E por último, preciso pegar essas valores (código, nome do produto e preço) e coloca-los em uma lista cujo o nome da variável será : produtos_comprados.
O antigo código (sem banco de dados) buscava em um dicionário, funcionava assim:
produtos = {'1':('Dipirona 500mg 10 cp', 2.99),
'2':('Paracetamol 500mg 10 cp', 4.7),
'3':('Ibuprofeno 600 mg 4 cp ', 5.98),
'4':('Dorflex 10 cp', 10.99),
'5':('Neosoro', 3.49),
'6':('Torsilax 4 cp', 5.99)}
total_compra = valor_item = troco = 0
produtos_comprados = ()
qtd_produtos = 0
while True:
codigo = str(input('nDigite o código de um produto: '))
if len(codigo) > 0:
if codigo in produtos.keys():
print(f'Produto.: {produtos.get(codigo)(0)}')
descricao_produto = produtos.get(codigo)(0)
print(f'Valor...: R$ {produtos.get(codigo)(1):.2f}')
valor_pro = produtos.get(codigo)(1)
qtd_produtos += 1
total_compra += valor_pro
produtos_comprados.append((codigo, valor_pro, descricao_produto))
else:
print('Código de produto inválido')
else:
break