1
resposta

Desafio: Simulador de pedidos em uma cafeteria

def sistema_cafeteria():
print("--- Bem-vindo ao Sistema da Cafeteria ---")

# 1. Entrada: Pedir a quantidade de itens
try:
    qtd_itens = int(input("Quantos itens o cliente vai pedir? "))
except ValueError:
    print("Por favor, digite um número válido.")
    return

# Criar variável total iniciando em 0
total = 0.0

# 2. Processamento: Loop para somar os preços
# O 'range' faz o código repetir o número de vezes que definimos em 'qtd_itens'
for i in range(qtd_itens):
    print(f"\n--- Item {i+1} ---")
    nome_item = input("Nome do item: ")
    
    # Tratamento de erro simples para garantir que o preço seja um número
    try:
        preco_item = float(input("Preço do item: R$ "))
        total += preco_item # Adiciona o preço atual ao total acumulado
    except ValueError:
        print("Preço inválido. Considerando R$ 0.00 para este item.")

# Exibe o subtotal antes do desconto
print(f"\nSubtotal: R$ {total:.2f}")

# 3. Condicional: Verificar cadastro e aplicar desconto
cadastrado_input = input("O cliente é cadastrado? (Digite 'S' para Sim ou 'N' para Não): ").strip().upper()

# Lógica booleana conforme pedido pelo instrutor
e_cadastrado = True if cadastrado_input == 'S' else False

if e_cadastrado:
    # Fórmula do desconto
    valor_desconto = total * 0.10
    total_final = total - valor_desconto
    print(f"Cliente cadastrado! Desconto de 10% aplicado (-R$ {valor_desconto:.2f})")
else:
    total_final = total
    print("Cliente não cadastrado. Sem desconto.")

# 4. Saída: Exibir valor final
print("--------------------------------")
print(f"VALOR FINAL A PAGAR: R$ {total_final:.2f}")
print("--------------------------------")

Executa o sistema

sistema_cafeteria()

1 resposta

Oi, Jean, como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Chamou muito a atenção como você estruturou o sistema_cafeteria em uma função, usou try e except para validar a entrada de dados e ainda aplicou a lógica booleana com a variável e_cadastrado, deixando o fluxo do programa bem claro e organizado.

Uma dica interessante para o futuro é usar o método enumerate quando estiver percorrendo listas, pois ele já entrega o índice e o valor ao mesmo tempo. Veja este exemplo:


itens = ["cafe", "pao", "suco"]

for indice, item in enumerate(itens):
    print("Item", indice + 1, "-", item)

Esse código percorre a lista itens e mostra o numero do item (começando em 1) e o nome correspondente, facilitando a exibição de listas numeradas em sistemas como o seu simulador de cafeteria.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!