Olá, Alexandre. Como vai?
Parabéns pela resolução do desafio! O seu código em Python está excelente, muito bem estruturado e atende com precisão absoluta todas as regras de negócio solicitadas para o sistema de bilheteria do cinema.
O ponto forte do seu algoritmo foi a escolha certeira do operador lógico or (OU). Como a regra determina que o cliente ganha o benefício se cumprir pelo menos uma das condições (ter menos de 18 anos ou ser estudante), o or garante que, se qualquer uma delas for verdadeira, o bloco do if seja executado com sucesso.
Para agregar ainda mais valor ao seu projeto e trazer algumas boas práticas de mercado, vou destacar duas coisas muito legais que você fez e sugerir um pequeno ajuste visual:
O que ficou excelente no seu código:
- Uso do
.strip().lower(): Essa foi uma sacada de mestre! Ao usar o .strip(), você limpa os espaços em branco acidentais que o usuário pode digitar, e o .lower() converte tudo para letras minúsculas. Isso evita que o programa dê erro ou negue o desconto se o cliente digitar "Sim", "SIM " ou "siM".
Atenção à indentação (Organização no VS Code):
No Python, a indentação (o recuo do texto) é obrigatória para que o computador saiba o que está dentro do if e o que está dentro do else. No seu post, os comandos print ficaram alinhados na parede esquerda. Para garantir que o VS Code não aponte nenhum erro de sintaxe (IndentationError), certifique-se de que o código esteja exatamente com este recuo:
idade = int(input("Digite a idade do cliente: "))
estudante = input("O cliente é estudante? (sim/não): ").strip().lower()
# O 'if' cria um desvio no fluxo. O que acontece lá dentro precisa de 4 espaços de recuo
if idade < 18 or estudante == "sim":
print("O cliente tem direito à meia-entrada.")
else:
print("O cliente não tem direito à meia-entrada.")
Sugestão de upgrade (Deixando o sistema mais robusto):
Se você quiser deixar seu programa ainda mais à prova de erros, pode ajustar a validação para aceitar também apenas a letra "s", já que muitas pessoas digitam de forma abreviada. Ficaria assim:
if idade < 18 or estudante == "sim" or estudante == "s":
Ou de uma forma ainda mais elegante usando o operador in:
if idade < 18 or estudante in ["sim", "s"]:
Você aplicou os fundamentos do Pensamento Computacional de forma perfeita no VS Code, transformando um problema do mundo real em uma solução lógica automatizada.
Espero que possa ter lhe ajudado!