Introdução à Programação · 1.º ano (indicativo)

Como declarar e usar variáveis?

  • 8 min de leitura
  • 4 exemplos resolvidos
  • 5 exercícios com solução
  • Atualizado em

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

TipoSignificadoExemplo
intnúmero inteiroidade = 17
floatnúmero decimal (com ponto)altura = 1.75
strtextonome = "Ana"
boolverdadeiro ou falsoaprovado = 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: Nota e nota sã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

  1. Escolha um nome claro que diga o que a variável guarda (preco, não x).
  2. Atribua o valor inicial com nome = valor. O lado direito é calculado primeiro e o resultado fica guardado no nome do lado esquerdo.
  3. Use a variável em expressões e em print(): total = preco * quantidade.
  4. Atualize quando necessário: saldo = saldo - 1200 lê o valor antigo, calcula e guarda o novo. A forma curta é saldo -= 1200.
  5. Converta ao ler dados. input() devolve sempre texto; use int() ou float() se precisar de calcular.
  6. **Confirme com print()** o valor e, se tiver dúvidas, com type() 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:

  1. preco = 150
  2. quantidade = 4
  3. total = preco * quantidade
  4. print(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:

  1. saldo = 5000
  2. saldo = saldo - 1200 guarda 3800.
  3. saldo += 500 equivale a saldo = saldo + 500 e guarda 4300.
  4. 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:

  1. No primeiro caso, n guarda o texto "7". Multiplicar texto por 2 repete-o: "7" * 2 dá "77".
  2. 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:

  1. Usando uma variável auxiliar: aux = a (aux = 3), a = b (a = 8), b = aux (b = 3).
  2. Em Python também se pode escrever, numa só linha, a, b = b, a.
  3. 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). Use nota2 e preco_total.
  • **Confundir = com ==.** O primeiro atribui, o segundo compara.
  • **Esquecer o int() depois de input().** Dá concatenação de texto em vez de conta, ou erro ao somar texto com número.
  • Trocar maiúsculas e minúsculas. Total e total são variáveis diferentes e a segunda pode nem existir.
  • Usar palavras reservadas como nome, por exemplo class = "10A"; escolha turma.
  • Pôr aspas no número. idade = "17" é texto, não um número.

Exercícios propostos

Tente resolver primeiro no caderno; depois confira.

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, str e bool; type() mostra o tipo.
  • input() devolve texto: converta com int() ou float() 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

1.º ano (indicativo)9 min

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

1.º ano (indicativo)8 min

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

1.º ano (indicativo)8 min

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

1.º ano (indicativo)7 min

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

Ver tudo de Introdução à Programação