Mundo em Python

Gestão de Pastelaria

Código baseado através do seguinte site


import time
import sqlite3
connection = sqlite3.connect('bdpastelaria.db')
cursor = connection.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS Menu([product_id] INTEGER PRIMARY KEY AUTOINCREMENT,
[product_name] TEXT,
[product_price] INTEGER)''') query = '''SELECT * FROM Menu'''
cursor.execute(query)
results = cursor.fetchall()
if results == []:
cursor.execute('''
INSERT INTO Menu (product_name, product_price)
VALUES
('Nata',1.5),
('Pão',0.5),
('Rissois',0.8),
('Donuts',2),
('Tarte',3)
''')
connection.commit()
def items(cursor):
query = '''SELECT * FROM Menu'''
cursor.execute(query)
results = cursor.fetchall()
print("Lista de items: ")
print("ID", "Nome", "Preço", sep=" ")
for each in results:
print(each[0], each[1], each[2], sep=" ")
def Local_adminstrador(connection, cursor):
print()
print("---------Espaço do Administrador!----------")
print()
print("Lista de escolhas:")
print("1: Adicionar item",
"2: Remover item",
"3: Atualizar item preço",
"4: Veja todos os itens",
"5: Sair",
sep="\n") escolha1 = int(input("Digite sua escolha: "))
print()
time.sleep(0.5) if escolha1 == 1:
print("Adionar Produto")
nome_produto = input("Digite o nome do produto: ")
preço_produto = input("Insira o preço do produto: ") try:
query = f'''INSERT INTO Menu(product_name, product_price) VALUES ('{nome_produto}','{preço_produto}')'''
cursor.execute(query)
connection.commit()
print("O item foi adicionado à lista!")
except Exception as e:
print("Ocorreu um erro!") time.sleep(1)
Local_adminstrador(connection, cursor) elif escolha1 == 2:
items(cursor)
print("Qual item você gostaria de remover?")
id = int(input("Digite o produto id:"))
try:
query = f'''DELETE FROM Menu WHERE product_id={id}'''
cursor.execute(query)
connection.commit()
print("O item foi removido da loja!")
except Exception as e:
print("Item inválido!")
time.sleep(1)
Local_adminstrador(connection, cursor) elif escolha1 == 3:
items(cursor)
print("Preço do item: ")
id = int(input("Digite o produto ID:"))
price = float(input("Insira o preço atualizado:"))
try:
query = f'''UPDATE Menu SET product_price={price} WHERE product_id={id}'''
cursor.execute(query)
connection.commit()
print("O preço do item foi atualizado!")
except Exception as e:
print("Produto inválido ID!")
time.sleep(1)
Local_adminstrador(connection, cursor)
elif escolha1 == 4:
items(cursor)
time.sleep(1.5)
Local_adminstrador(connection, cursor)
elif escolha1 == 5:
menu()
else:
print("Escolha inválida!")
time.sleep(1)
Local_adminstrador(connection, cursor) def consumidor(connection, cursor):
print("-----------Bem-vindo, você está logado como um cobrador!-------------")
print("Lista de escolhas:")
print("1: Cobrança", "2: Sair", sep="\n")
escolha2 = int(input("Digite sua escolha:"))
if (escolha2 == 1):
name = input("Digite o nome do cliente:")
print(f"O que você quer comprar {name}?")
time.sleep(0.5)
items(cursor) print()
total = 0
items1 = []
while 1: id = int(input("Digite o produto ID:"))
quantity = int(input("Digite a quantidade:"))
try:
query = f'''SELECT * FROM Menu WHERE product_id={id}'''
cursor.execute(query)
result = cursor.fetchone() total += result[2] * quantity
items1.append([result[1], quantity])
i = input("Mais alguma coisa?Responda S para Sim e N para Não! ")
if (i == 'N'):
break
except Exception as e:
print("Entrada inválida!")
print(e)
break

if (total != 0):
print()
print("---------Pastelaria Central--------")
print("-------Conta Detalhada-------")
print(f"Nome:{name}")
print(f"Produtos:")
for each in items1:
print(each[0], each[1], sep=":")
print(f"Total: {total}")
print("Obrigado! Tenha um bom dia!")
print() time.sleep(1)
consumidor(connection, cursor)
elif escolha2 == 2:
menu()
else:
print("Escolha inválida!")
time.sleep(1)
consumidor(connection, cursor) def menu():
escolha = 1
while escolha:
print("\n")
print("\033[34m=\033[m"*100)
print("\033[32m\t\t\t\t\t\t\t Bem-Vindo à Pastelaria Central\033[m")
print("\033[34m=\033[m"*100)
print("\n") print("Escolha uma opção?")
print("1: Administrador", "2: Consumidor", "3: Sair", sep="\n") opção = input("\nDigite a opção: ") if opção == '1':
palavra_passe = input("Digite a palavra-passe: ")
if palavra_passe == "Central1479":
time.sleep(1)
Local_adminstrador(connection, cursor)
else:
print("\033[31mPalavra-Passe incorrecta!\033[m")
time.sleep(1) elif opção == '2':
consumidor(connection, cursor)
elif opção == '3':
print("\033[92mFim do Programa\033[m")
exit()
else:
print("\033[31mEscolha inválida!\033[m")
menu()
0