1
resposta

[Projeto] DESAFIO: VERIFICAÇAO DE DESCONTO - CINEMA. PYTON

Entrada de dados
idade = int(input("Digite a sua idade: "))
resposta_estudante = input("Você é estudante? (Sim/Não): ").strip().lower()

Convertendo a resposta para verdadeiro ou falso
eh_estudante = (resposta_estudante == "sim")

Verificando as condições com o operador lógico 'or'
if idade < 18 or eh_estudante:
print("Você tem direito à meia-entrada")
else:
print("Você não tem direito ao desconto")

NUM SISTEMA REAL se o cliente informa dados numa tela (app, totem, site) o sistema pede foto ou código da carteirinha estudantil, pode ter uma consulta uma base de dados externa para validar e ai registra o desconto no banco de dados e emite o ingresso, e ai da pra incluir meio assim:

if idade < 18 or carteirinha_valida(codigo):
aplicar_desconto(pedido)
else:
cobrar_integral(pedido)

claro que um sistama real teria uma logica maior.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Lavinia. Como vai?

Excelente iniciativa ao trazer o exemplo de como uma lógica de estudante se transforma em um sistema profissional! Seu código base está impecável, especialmente pelo uso do .strip().lower(), que é uma boa prática essencial para evitar que espaços extras ou letras maiúsculas quebrem a validação do seu programa.

Você tocou em um ponto fundamental do pensamento computacional: a abstração. No seu exemplo de "sistema real", você utilizou o que chamamos de chamadas de funções (carteirinha_valida e aplicar_desconto), o que torna o código muito mais organizado e fácil de manter.

Para agregar valor à sua reflexão sobre sistemas reais, veja como poderíamos estruturar essa lógica de validação de forma um pouco mais robusta, simulando essa verificação de código que você mencionou na imagem:

# Lista de códigos válidos (simulando um banco de dados)
codigos_validos = ["UNI-2024-00123", "USP-2025-88741", "FATEC-2024-55390"]

idade = int(input("Digite a idade: "))
eh_estudante = input("É estudante? (Sim/Não): ").strip().lower() == "sim"

if eh_estudante:
    codigo = input("Digite o código da carteirinha: ").strip().upper()
    # Verificamos se o código existe na nossa lista de válidos
    carteirinha_ok = codigo in codigos_validos
else:
    carteirinha_ok = False

# Lógica final de decisão
if idade < 18 or carteirinha_ok:
    print("Desconto aplicado: Meia-entrada liberada!")
else:
    print("Ingresso Integral: Critérios de desconto não atingidos.")
  • Operadores Lógicos: O uso do or é perfeito aqui, pois se apenas uma das condições for verdadeira (ser menor de idade ou ter a carteirinha válida), o benefício já é concedido.
  • UX (Experiência do Usuário): Note que no código acima, só pedimos o código da carteirinha se a pessoa marcar "Sim" no campo de estudante, exatamente como no layout do sistema CineMax que você compartilhou.

Essa transição da lógica simples para a lógica condicional aninhada é o que permite construir aplicações seguras e inteligentes. Parabéns por enxergar além do exercício e pensar na aplicação prática do mercado!

Espero que possa ter lhe ajudado!