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

Desafio: Verificação de desconto

    idade = 17
    estudante = falso

    if idade < 18 OU estudante == True;
        console.log("desconto aplicado");
    else;
        console.log("valor normal");
1 resposta
solução!

Olá, Otavio. Como vai?

Parabéns por enfrentar o desafio! O seu código tocou no coração de um dos conceitos mais importantes e utilizados na lógica de programação comercial: as condicionais compostas com operadores lógicos. Mapear regras de negócio como concessão de descontos é um excelente exercício prático.

Você estruturou muito bem a lógica do problema. O uso do operador OU (or) foi a escolha perfeita para o cenário, pois a regra exige que apenas uma das condições seja verdadeira para dar o benefício (ou ser menor de idade, ou ser estudante). Como a sua variável idade é $17$ (menor que 18), o sistema aplicaria o desconto com sucesso, ignorando o fato de estudante ser falso.

Como você está estudando os fundamentos da lógica e o comportamento do código, quero atuar como um par de programação e te dar um feedback bem direto para corrigir alguns detalhes de sintaxe que misturaram duas linguagens diferentes (Python e JavaScript) no seu texto.

Ajustando esses pontos, seu código fica 100% pronto para rodar. Vamos ver como ele seria escrito de forma correta em cada uma dessas linguagens:

Opção 1: Em JavaScript

Se a sua intenção foi usar o comando console.log, a sintaxe correta exige que as palavras-chave sejam em inglês (true/false), o operador "OU" seja representado por dois traços verticais (||), e os blocos usem chaves {} em vez de ponto e vírgula ; após o if:

let idade = 17;
let estudante = false; // Em JS, "false" é minúsculo

if (idade < 18 || estudante === true) {
    console.log("desconto aplicado");
} else {
    console.log("valor normal");
}

Opção 2: Em Python

Se o objetivo era seguir a linha do Python (onde escrevemos True e False com a primeira letra maiúscula), nós usamos a palavra or em inglês e substituímos as chaves por dois pontos (:), usando o comando print:

idade = 17
estudante = False # Em Python, "False" começa com maiúscula

if idade < 18 or estudante == True:
    print("desconto aplicado")
else:
    print("valor normal")

Uma dica de ouro sobre variáveis Booleanas:

Repare no trecho estudante == True. Na programação, quando uma variável já guarda um valor booleano (Verdeiro ou Falso), você não precisa perguntar ao computador se ela é igual a verdadeiro. Você pode passar a própria variável direto dentro do if.

Em Python, ficaria simplesmente: if idade < 18 or estudante:. O computador já entende perfeitamente a leitura natural da frase: "Se a idade for menor que 18 ou se for estudante...".

A sua base lógica para resolver o problema está excelente. Corrigindo esses pequenos detalhes de escrita que fazem parte do aprendizado, seus scripts vão rodar sem nenhum erro. Continue praticando e postando seus códigos no fórum!

Espero que possa ter lhe ajudado!