Introdução à Programação · 1.º ano (indicativo)
Como declarar e usar variáveis?
Resposta curta
Uma variável é um nome que guarda um valor na memória. Em Python declara-se atribuindo com o sinal =, por exemplo idade = 17: não é preciso indicar o tipo. Depois usa-se o nome em expressões, como idade + 1, e pode-se atribuir outro valor quando quiser.
Quando se aplica
Sempre que um programa precisa de se lembrar de um dado: o preço de um produto, o saldo de uma conta, a nota de um aluno, o resultado de um cálculo intermédio. Sem variáveis, cada valor teria de ser escrito à mão em todo o lado e o programa não conseguiria reagir ao que o utilizador escreve.
Pré-requisitos
Ter o Python instalado e saber executar um ficheiro .py ou usar o modo interativo. Em Python não há uma palavra especial para «declarar»: a primeira atribuição cria a variável. Noutras linguagens, como C e Java, é obrigatório escrever o tipo, por exemplo int idade = 17;.
Tipos básicos
| Tipo | Significado | Exemplo |
|---|---|---|
int | número inteiro | idade = 17 |
float | número decimal (com ponto) | altura = 1.75 |
str | texto | nome = "Ana" |
bool | verdadeiro ou falso | aprovado = True |
O comando type(x) indica o tipo de x. Em Python o tipo pertence ao valor, não ao nome, por isso o mesmo nome pode receber depois um valor de outro tipo.
Regras para os nomes
- Só letras, algarismos e o sublinhado
_; não pode começar por algarismo. - Maiúsculas e minúsculas contam:
Notaenotasão variáveis diferentes. - Não pode ser uma palavra reservada (
if,for,while,class,True, entre outras). - Boa prática: nomes claros e em minúsculas, como
preco_total.
Método passo a passo
- Escolha um nome claro que diga o que a variável guarda (
preco, nãox). - Atribua o valor inicial com
nome = valor. O lado direito é calculado primeiro e o resultado fica guardado no nome do lado esquerdo. - Use a variável em expressões e em
print():total = preco * quantidade. - Atualize quando necessário:
saldo = saldo - 1200lê o valor antigo, calcula e guarda o novo. A forma curta ésaldo -= 1200. - Converta ao ler dados.
input()devolve sempre texto; useint()oufloat()se precisar de calcular. - **Confirme com
print()** o valor e, se tiver dúvidas, comtype()o tipo.
Atenção
O sinal = em programação não é igualdade matemática: significa «guarde o valor da direita no nome da esquerda». Para comparar usa-se ==.
Exemplos resolvidos
Exemplo 1 — Calcular o total de uma compra
Enunciado: Numa banca do mercado, 4 pacotes de arroz custam 150 kwanzas cada. Escreva as variáveis e calcule o total.
Resolução:
preco = 150quantidade = 4total = preco * quantidadeprint(total)
Resposta: o programa mostra 600. Verificação: 150 × 4 = 600 kwanzas.
Exemplo 2 — Atualizar uma variável
Enunciado: Uma conta tem 5000 kwanzas. Levantam-se 1200 e depois depositam-se 500. Qual é o saldo final?
Resolução:
saldo = 5000saldo = saldo - 1200guarda 3800.saldo += 500equivale asaldo = saldo + 500e guarda 4300.print(saldo)
Resposta: 4300. Verificação: 5000 − 1200 + 500 = 4300.
Exemplo 3 — Ler um número com input
Enunciado: O utilizador escreve 7. Compare o resultado de n = input() seguido de print(n * 2) com o de n = int(input()) seguido de print(n * 2).
Resolução:
- No primeiro caso,
nguarda o texto"7". Multiplicar texto por 2 repete-o:"7" * 2dá"77". - No segundo caso,
int()converte o texto no inteiro 7, e 7 × 2 dá 14.
Resposta: o primeiro programa mostra 77 e o segundo mostra 14. Verificação: type(n) é str no primeiro e int no segundo.
Exemplo 4 — Nível de exame: trocar dois valores e seguir o rasto
Enunciado: Dado a = 3, b = 8, troque os valores e diga o que o programa mostra, depois de print(a, b).
Resolução:
- Usando uma variável auxiliar:
aux = a(aux = 3),a = b(a = 8),b = aux(b = 3). - Em Python também se pode escrever, numa só linha,
a, b = b, a. - Agora a vale 8 e b vale 3.
Resposta: mostra 8 3. Verificação: a soma continua 11. Sem a variável auxiliar, a = b seguido de b = a daria 8 8, porque o valor inicial de a se perdia.
Erros frequentes
- Usar uma variável antes de a criar.
print(total)sem atribuição prévia dáNameError; atribua sempre primeiro. - Começar o nome por algarismo (
2nota = 15) ou usar espaços e hífen (preco-total). Usenota2epreco_total. - **Confundir
=com==.** O primeiro atribui, o segundo compara. - **Esquecer o
int()depois deinput().** Dá concatenação de texto em vez de conta, ou erro ao somar texto com número. - Trocar maiúsculas e minúsculas.
Totaletotalsão variáveis diferentes e a segunda pode nem existir. - Usar palavras reservadas como nome, por exemplo
class = "10A"; escolhaturma. - Pôr aspas no número.
idade = "17"é texto, não um número.
Exercícios propostos
1Exercício 1
Escreva o código que guarda a base 6 e a altura 4 de um retângulo e mostra a área.
Ver solução
base = 6, altura = 4, area = base * altura, print(area). Mostra 24, porque 6 × 4 = 24.
2Exercício 2
Diga qual destes nomes é inválido e porquê: nota1, 2nome, total_final, Idade.
Ver solução
2nome é inválido, porque começa por algarismo. Os outros três são válidos (Idade é válido, mas é diferente de idade).
3Exercício 3
Qual é o valor de y no fim? x = 5, y = x, x = 10, print(y).
Ver dica
Quando se copia um número, a cópia fica independente do original.
Ver solução
y fica com 5. A linha y = x copia o valor 5; mudar x para 10 depois não altera y.
4Exercício 4
Calcule a média de 12, 15 e 18 com variáveis e diga o que é mostrado.
Ver solução
a = 12, b = 15, c = 18, media = (a + b + c) / 3, print(media). A soma é 45 e 45 ÷ 3 = 15. Como / devolve sempre um float, o ecrã mostra 15.0. Os parênteses são essenciais: sem eles só c seria dividido por 3.
5Exercício 5
Converta 25 graus Celsius para Fahrenheit com variáveis, usando F = C × 9 / 5 + 32. Depois diga o tipo do resultado e o que mostra "10" + "5".
Ver solução
c = 25, f = c * 9 / 5 + 32, print(f). Contas: 25 × 9 = 225; 225 ÷ 5 = 45; 45 + 32 = 77. Mostra 77.0 e o tipo é float, por causa da divisão. Quanto a "10" + "5", os dois valores são texto, por isso o + junta-os e mostra 105 (texto), não 15.
Perguntas frequentes
Preciso de indicar o tipo de uma variável em Python?
Não. O Python deduz o tipo pelo valor atribuído (tipagem dinâmica). Pode consultá-lo com type(). Noutras linguagens, como C ou Java, o tipo tem de ser declarado antes.
Qual é a diferença entre declarar e atribuir?
Declarar é anunciar que o nome existe (e, em linguagens como C, o seu tipo); atribuir é dar-lhe um valor. Em Python as duas coisas acontecem juntas na primeira atribuição.
Posso mudar o valor de uma variável?
Sim, e é para isso que servem. nota = 10 seguido de nota = 14 deixa a variável com 14. O valor antigo perde-se, a menos que o guarde antes noutra variável.
Existe uma forma mais rápida de atualizar uma variável?
Existem os operadores compostos: x += 1, x -= 5, x *= 2. São abreviaturas de x = x + 1, x = x - 5 e x = x * 2.
Resumo
- Uma variável é um nome associado a um valor; em Python cria-se com
nome = valor. - Nomes: letras, algarismos e
_, sem começar por algarismo, sem palavras reservadas, e sensíveis a maiúsculas. - Tipos básicos:
int,float,strebool;type()mostra o tipo. input()devolve texto: converta comint()oufloat()antes de calcular.=atribui e==compara;x += 1é a forma curta de incrementar.
Onde aprofundar
- O programa e o manual da sua cadeira de Introdução à Programação.
- O tutorial oficial de Python, nos capítulos sobre números, texto e variáveis (em inglês); confirme a versão em vigor.
- O curso CS50 de Harvard, na parte de introdução à programação.
Continue a estudar
Como instalar o Python no computador?
Descarregue o instalador no site oficial python.org, execute-o e, no Windows, marque a opção Add python.exe to PATH antes de instalar. Depois abra o terminal e escreva…
4 exemplos5 exercícios com solução✓ Estudado
Como escrever um programa para somar números até zero?
Em Python, use um acumulador total = 0, leia o primeiro número e repita com while n != 0: somando n ao total e lendo o número seguinte dentro do ciclo. O zero funciona…
4 exemplos5 exercícios com solução✓ Estudado
Como escrever um programa para a tabuada?
Leia o número com n = int(input()) e percorra os multiplicadores de 1 a 10 com for i in range(1, 11):. Dentro do ciclo, mostre cada linha com print(n, "x", i, "=", n *…
4 exemplos5 exercícios com solução✓ Estudado
Como escrever um programa para o fatorial?
O fatorial de n (n!) é o produto 1 × 2 × … × n, com 0! = 1. Em Python, comece com fat = 1, percorra for i in range(2, n + 1): e multiplique com fat *= i. No fim…
4 exemplos5 exercícios com solução✓ Estudado