Olá, Milena. Como vai?
Excelente iniciativa ao compartilhar a estruturação da sua funcionalidade. Esse desafio é fundamental para exercitar o pensamento computacional, especificamente os pilares de decomposição (dividir o problema em partes como entrada, cálculo e armazenamento) e algoritmos.
Para agregar valor à sua lógica de programação, gostaria de sugerir como essa funcionalidade pode ser estruturada de forma mais robusta, utilizando conceitos de listas e dicionários, que facilitam o armazenamento final dos dados:
1. Lógica de Cálculo Contínuo
Para que o valor total seja mostrado assim que o usuário seleciona a quantidade, você pode utilizar um laço de repetição (como o while) que atualiza uma variável acumuladora a cada novo item adicionado.
2. Estrutura de Armazenamento
Como o desafio pede para armazenar diversas informações ao "Fechar o pedido", uma boa prática é utilizar uma lista de objetos (ou dicionários no Python). Veja um exemplo prático de como essa lógica pode ser traduzida em código:
# Inicializando o pedido
pedido_final = []
valor_total_pedido = 0
# Exemplo de loop para adicionar itens
while True:
item_nome = input("Digite o nome do item (ou 'sair' para fechar): ")
if item_nome.lower() == 'sair':
break
quantidade = int(input(f"Quantidade de {item_nome}: "))
valor_unitario = float(input(f"Valor unitário de {item_nome}: "))
# Cálculo solicitado: quantidade x valor
subtotal = quantidade * valor_unitario
valor_total_pedido += subtotal
# Armazenando todas as variáveis conforme o desafio
item_armazenado = {
"item": item_nome,
"quantidade": quantidade,
"valor_unitario": valor_unitario,
"subtotal": subtotal
}
pedido_final.append(item_armazenado)
print(f"Subtotal parcial: R$ {subtotal:.2f}")
# Fechamento do pedido
print("\n--- PEDIDO FINALIZADO ---")
for registro in pedido_final:
print(f"{registro['quantidade']}x {registro['item']} - R$ {registro['subtotal']:.2f}")
print(f"VALOR TOTAL DO PEDIDO: R$ {valor_total_pedido:.2f}")
Dica de Pensamento Computacional:
Note que ao "fechar o pedido", o uso da lista pedido_final garante a abstração dos dados, permitindo que você tenha um histórico completo de tudo o que foi selecionado, e não apenas o resultado final da conta. Isso é essencial para sistemas de e-commerce e gestão de estoque.
Continue focada na lógica por trás do código, pois entender o fluxo da informação é o passo mais importante para se tornar uma boa programadora!
Espero que possa ter lhe ajudado!