Variáveis,
Entrada & Saída
Os primeiros tijolos de qualquer programa — declarar valores, conversar com o usuário e fazer operações, em Python e JavaScript lado a lado.
Os primeiros tijolos de qualquer programa — declarar valores, conversar com o usuário e fazer operações, em Python e JavaScript lado a lado.
Entender o que é uma variável e como declarar em Python e JS
Identificar os tipos de dados básicos (número, texto, booleano)
Usar entrada e saída (input/prompt, print/console.log) e converter tipos
Usar operadores aritméticos e de comparação corretamente
Uma variável é como uma caixa rotulada:
Python e JavaScript usam a mesma ideia — só muda a forma de escrever.
Atribuir é usar o =. A grande diferença: em JavaScript você precisa de let (ou const) antes do nome.
nome = "Ana"
idade = 15
nota = 8.5
print(nome, idade, nota)
let nome = "Ana";
let idade = 15;
let nota = 8.5;
console.log(nome, idade, nota);
O que acontece se eu escrever idade = idade + 1 logo depois? E se eu usar const em vez de let no JS?
Toda variável guarda algo de um tipo. Os quatro tipos básicos:
int · JS: numberfloat · JS: numberstr · JS: stringbool · JS: booleanTrue / False (maiúsculo). Em JavaScript é true / false (minúsculo). Trocar isso é o erro mais comum de quem alterna entre as duas linguagens.
Todo programa se comunica: mostra coisas na tela (saída) e recebe dados do usuário (entrada).
print("Olá, OBI!")
print("Nome:", nome, "Idade:", idade)
print(f"Olá, {nome}!") # f-string
console.log("Olá, OBI!");
console.log("Nome:", nome, "Idade:", idade);
console.log(`Olá, ${nome}!`); // template
nome = input("Seu nome: ")
idade = int(input("Idade: "))
nota = float(input("Nota: "))
let nome = prompt("Seu nome:");
let idade = Number(prompt("Idade:"));
let nota = parseFloat(prompt("Nota:"));
input() e prompt() sempre retornam texto. Se precisar de número, converta com int() / float() (Python) ou Number() / parseFloat() (JS).
Situação: Crie a ficha de um aluno com nome, idade, média e se está aprovado. Depois mostre tudo na tela.
nome = "..."
idade = ...
media = ...
aprovado = ...
print("Aluno:", nome)
print("Idade:", idade)
print("Média:", media)
print("Aprovado?", aprovado)
let nome = "...";
let idade = ...;
let media = ...;
let aprovado = ...;
console.log("Aluno:", nome);
console.log("Idade:", idade);
console.log("Média:", media);
console.log("Aprovado?", aprovado);
Aritméticos produzem números. Relacionais produzem booleanos.
a = 10
b = 3
a + b # 13
a - b # 7
a * b # 30
a / b # 3.333...
a // b # 3 (divisão inteira)
a % b # 1 (resto)
a > b # True
a == b # False
a != b # True
let a = 10;
let b = 3;
a + b; // 13
a - b; // 7
a * b; // 30
a / b; // 3.333...
Math.floor(a/b); // 3
a % b; // 1
a > b; // true
a === b; // false
a !== b; // true
=== (três iguais) para comparar. == faz conversões estranhas ("5" == 5 vira true).
Situação: Calcule a média de 3 notas e descubra se o aluno passou (média ≥ 6). Imprima a média e o resultado booleano.
n1 = 7.5
n2 = 6.0
n3 = 8.2
media = (n1 + n2 + n3) / 3
passou = media >= 6
print("Média:", media)
print("Passou?", passou)
let n1 = 7.5;
let n2 = 6.0;
let n3 = 8.2;
let media = (n1 + n2 + n3) / 3;
let passou = media >= 6;
console.log("Média:", media);
console.log("Passou?", passou);
Se eu trocar n1 = 4.0, o que será impresso em passou?
Crie 3 variáveis (nome, ano_nascimento, ano_atual). Calcule e imprima a idade do usuário.
Peça o preço de um produto e o percentual de desconto. Imprima o valor final a pagar.
Peça peso (kg) e altura (m). Calcule e imprima o IMC formatado com 2 casas decimais (peso / altura**2).
Faça cada um em Python e em JavaScript. Compare as versões — é aí que a aprendizagem acontece.
Peça o nome do aluno (input / prompt)
Peça 3 notas — converta para float / parseFloat
Calcule a média aritmética: (n1 + n2 + n3) / 3
Mostre "Aluno: X — Média: Y" com 2 casas decimais
nome = input("Nome: ")
n1 = float(input("Nota 1: "))
n2 = float(input("Nota 2: "))
n3 = float(input("Nota 3: "))
media = (n1 + n2 + n3) / 3
print(f"Aluno: {nome}")
print(f"Média: {media:.2f}")
let nome = prompt("Nome:");
let n1 = parseFloat(prompt("Nota 1:"));
let n2 = parseFloat(prompt("Nota 2:"));
let n3 = parseFloat(prompt("Nota 3:"));
let media = (n1 + n2 + n3) / 3;
console.log(`Aluno: ${nome}`);
console.log(`Média: ${media.toFixed(2)}`);
float() / parseFloat(), o programa vai juntar as notas como texto em vez de somar! Teste sem converter pra ver o que acontece.
let)True vs true)input/prompt (sempre texto!) e print/console.logint(), float(), Number(), parseFloat()Condicionais (if, elif/else if, else) e operadores lógicos (and/or/not · &&/||/!) — tomar decisões no código.
Qual das duas linguagens pareceu mais "estranha" pra você hoje? O que foi mais difícil: a sintaxe ou a ideia de converter tipo depois do input?