idade = 17
estudante = falso
if idade < 18 OU estudante == True;
console.log("desconto aplicado");
else;
console.log("valor normal");
idade = 17
estudante = falso
if idade < 18 OU estudante == True;
console.log("desconto aplicado");
else;
console.log("valor normal");
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:
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");
}
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")
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!