Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: Verificação de desconto

Terão direito a meia-entrada

Variávies
Idade = <18 anos
Estudante = True

Lógica
Estudante = true
exibir: tem direito a meia-entrada.
Estudante = false
exibir: Não tem direito a meia-entrada.

se idade = <18
exibir: tem direito a meia-entrada.
Se idade = >= 18
exibir: Não tem direito a meia entrada.

Comentário e observação
O algoritmo irá identificar se a pessoa é estudante, se for estudante exibirá a mensagem (tem direito a meia-entrada), caso não seja irá exibir a mensagem (não tem direito a meia-entrada).

Ele irá identificar se a pessoa tem idade < que 18 anos, caso tenha irá exibir a mensagem (tem direito a meia-entrada), caso não tenha irá exibir a mensagem (Não tem direito a meia entrada).

OBS: Lembrando que uma lógica não depende da outra, e uma pessoa pode ser menor de 18 anos e ser estudante, como o inverso também pode ser verdade.

1 resposta
solução!

Olá, Rafael. Como vai?

Excelente exercício de lógica! Você conseguiu identificar bem as variáveis necessárias e o comportamento esperado do algoritmo para cada condição isolada.

Para agregar valor ao seu aprendizado, é interessante observar que, no mundo da programação, quando temos duas condições que levam ao mesmo benefício (a meia-entrada), podemos otimizar o código utilizando Operadores Lógicos.

Otimizando com o Operador OR (OU)

Você mencionou que uma lógica não depende da outra. No entanto, para o sistema do cinema, se a pessoa atender a pelo menos uma das condições, ela já garante o desconto. Em vez de fazer duas verificações separadas, podemos unir tudo em uma única instrução lógica usando o or:

if idade < 18 or estudante == True:
    print("Tem direito a meia-entrada")
else:
    print("Não tem direito a meia-entrada")

Por que unir as condições?

  • Evita redundância: Se você tratar as lógicas de forma totalmente independente (como dois blocos separados), um estudante de 15 anos receberia a mensagem "Tem direito a meia-entrada" duas vezes seguidas no console.
  • Clareza: O uso do else (Senão) garante que a mensagem de "Não tem direito" só apareça se a pessoa falhar em todas as regras de desconto simultaneamente.

Observação sobre a Sintaxe

Notei que você usou >= 18 para o caso negativo. Isso está perfeito! Na lógica de programação, o contrário de "menor que" (<) é sempre "maior ou igual a" (>=).

Outro detalhe importante: em linguagens como Python ou C#, o símbolo = é usado para atribuição (dar um valor a uma variável), enquanto o símbolo == ou o próprio nome da variável é usado para comparação.

  • Atribuição: estudante = True (está afirmando que ele é estudante).
  • Comparação: if estudante == True: (está perguntando se ele é estudante).

Seu raciocínio está muito bem encaminhado para a construção de algoritmos mais complexos!

Espero que possa ter lhe ajudado!