Olá, Milena. Como vai?
Excelente estruturação do seu desafio! Você aplicou conceitos fundamentais do Pensamento Computacional, especificamente a Lógica Booleana.
Para que esse algoritmo funcione conforme o esperado, o ponto principal é o uso do operador lógico OU (em inglês, or). Como você definiu que basta uma das condições ser verdadeira para garantir o benefício, esse operador é o que permite essa flexibilidade.
Para agregar valor ao seu projeto, veja como essa lógica poderia ser traduzida em um código funcional utilizando Python, respeitando as variáveis que você criou:
# Entrada de dados do usuário
idade = int(input("Digite sua idade: "))
eh_estudante = input("Você é estudante? (Sim/Não): ").lower()
# Definição da referência de idade
referencia_idade = 18
# Verificação lógica usando o operador 'or'
if idade < referencia_idade or eh_estudante == "sim":
print("Você tem direito ao desconto")
else:
print("Você não tem direito ao desconto")
Complementando sua ideia com Boas Práticas:
- Entradas Padronizadas: No código acima, utilizei o método
.lower(). Isso é importante porque, se o usuário digitar "SIM", "Sim" ou "sim", o sistema conseguirá entender a resposta da mesma forma, evitando erros de lógica. - Tabela Verdade: Na sua lógica, existem quatro cenários possíveis:
- Menor de 18 e estudante = Desconto
- Menor de 18 e NÃO estudante = Desconto
- Maior de 18 e estudante = Desconto
- Maior de 18 e NÃO estudante = Sem desconto
Note que apenas o último cenário resulta na negação do benefício, o que confirma que o uso do operador or foi a escolha técnica correta para o seu desafio.
Espero que possa ter lhe ajudado!