1  Conceitos Básicos de Python

Esta seção cobre os blocos de construção fundamentais da programação em Python.


1.1 Exibindo Informações Dinâmicas com f-strings

Para criar textos que mudam de acordo com os valores de nossas variáveis, usamos f-strings. Elas nos permitem “embutir” variáveis diretamente dentro de um texto.

Sintaxe: Basta colocar a letra f antes das aspas da string e, em seguida, colocar as variáveis entre chaves {}.

Exemplos Práticos:

Crachá (cracha.py): Crie um programa que guarde em variáveis o nome “Alice” e o cargo “Estudante” e exiba um crachá simples, com o nome em uma linha e o cargo na linha seguinte.

nome = "Alice"
cargo = "Estudante"
print(f"Nome: {nome}")
print(f"Cargo: {cargo}")

Exemplo de execução:

Nome: Alice
Cargo: Estudante

As duas primeiras linhas criam variáveis. O sinal = guarda o valor da direita na variável da esquerda: depois delas, nome guarda o texto "Alice" e cargo guarda "Estudante". Textos em Python são chamados de strings e ficam sempre entre aspas.

Nas linhas 3 e 4, cada print exibe uma f-string. O f antes das aspas avisa o Python que o texto contém variáveis entre chaves, e ele troca {nome} e {cargo} pelos valores guardados. A saída é Nome: Alice e Cargo: Estudante.

Recibo (recibo.py): Crie um programa que guarde o nome de um item (“Café”) e o seu preço (5.50) e exiba, em uma única linha, uma mensagem com o item pedido e o valor a pagar.

item = "Café"
preco = 5.50
print(f"Você pediu um {item} e custa R$ {preco}")

Exemplo de execução:

Você pediu um Café e custa R$ 5.5

Além de textos, variáveis podem guardar números. O preço é escrito sem aspas, porque é um valor numérico, e com ponto como separador decimal, já que o Python não aceita vírgula. Na linha 3, a f-string mistura os dois tipos de valor na mesma frase. Repare que o preço aparece como 5.5: para o Python, 5.50 e 5.5 são o mesmo número, e o zero final não é exibido.

Frases (frases.py): Crie um programa que guarde um adjetivo e um substantivo em variáveis e monte com eles a frase “Eu vi um carro vermelho e grande hoje.”.

adjetivo = "vermelho"
substantivo = "carro"
print(f"Eu vi um {substantivo} {adjetivo} e grande hoje.")

Exemplo de execução:

Eu vi um carro vermelho e grande hoje.

Uma f-string pode conter quantas variáveis forem necessárias, e elas podem aparecer em qualquer ordem, independentemente da ordem em que foram criadas. Aqui, o substantivo vem antes do adjetivo, como é comum em português, e o texto fixo completa a frase: Eu vi um carro vermelho e grande hoje.


1.2 Interagindo com o Usuário com input()

Para que nossos programas possam receber dados digitados pelo usuário, usamos a função input(). Ela exibe uma mensagem, pausa o programa e espera que o usuário digite algo e pressione Enter.

Importante: A função input() sempre retorna o que o usuário digitou como um texto (string).

Exemplos Práticos:

Eco (eco.py): Crie um programa que pergunte o nome do usuário e, em seguida, exiba uma mensagem de boas-vindas com esse nome.

nome_usuario = input("Qual é o seu nome? ")
print(f"Bem-vindo ao sistema, {nome_usuario}.")

Exemplo de execução:

Qual é o seu nome? Maria
Bem-vindo ao sistema, Maria.

A função input() exibe a pergunta, pausa o programa até o usuário digitar algo e pressionar Enter e devolve o texto digitado. Esse texto fica guardado na variável nome_usuario. O espaço no final da pergunta separa a pergunta da resposta na tela.

Na linha 2, a f-string usa o valor guardado para personalizar a mensagem. Se o usuário digitar Maria, a saída é Bem-vindo ao sistema, Maria.

Histórias (historias.py): Crie um programa que peça ao usuário um substantivo e um verbo e use essas duas palavras para montar uma pequena história de uma linha.

substantivo = input("Digite um substantivo (objeto): ")
verbo = input("Digite um verbo (ação): ")
print(f"O {substantivo} gosta de {verbo} o dia todo.")

Exemplo de execução:

Digite um substantivo (objeto): gato
Digite um verbo (ação): dormir
O gato gosta de dormir o dia todo.

O programa faz duas perguntas, uma depois da outra: a segunda só aparece depois que o usuário responde à primeira. Cada resposta fica em sua própria variável, e a linha 3 encaixa as duas palavras em uma frase fixa. Com gato e dormir, a saída é O gato gosta de dormir o dia todo.

Comida (comida.py): Crie um programa que pergunte a comida favorita e a cor favorita do usuário e exiba uma frase que relacione as duas respostas.

comida = input("Comida favorita: ")
cor = input("Cor favorita: ")
print(f"Você ama comer {comida} enquanto olha para coisas da cor {cor}.")

Exemplo de execução:

Comida favorita: pizza
Cor favorita: azul
Você ama comer pizza enquanto olha para coisas da cor azul.

O programa segue o mesmo padrão do exemplo anterior: lê duas respostas, guarda cada uma em uma variável e combina as duas em uma única frase. Com pizza e azul, a saída é Você ama comer pizza enquanto olha para coisas da cor azul.


1.3 Trabalhando com Números: Conversão de Tipos

Como o input() sempre retorna texto, não podemos fazer cálculos matemáticos diretamente com seu resultado. Primeiro, precisamos converter o texto para um tipo numérico.

  • int(): Converte um texto para um número inteiro.
  • float(): Converte um texto para um número de ponto flutuante (decimal).

Exemplos Práticos:

Idade (idade.py): Crie um programa que peça o ano de nascimento do usuário e exiba a idade aproximada dele em 2025.

ano_nascimento_str = input("Digite seu ano de nascimento: ")
ano_nascimento = int(ano_nascimento_str)
ano_atual = 2025
idade = ano_atual - ano_nascimento
print(f"Você tem aproximadamente {idade} anos.")

Exemplo de execução:

Digite seu ano de nascimento: 2000
Você tem aproximadamente 25 anos.

Este exemplo mostra por que a conversão de tipos é necessária. O input() sempre devolve texto, então, mesmo que o usuário digite 2000, a variável ano_nascimento_str guarda o texto "2000", e não o número 2000. O final _str no nome lembra isso.

A função int(), na linha 2, converte o texto em número inteiro, e só depois dessa conversão a subtração da linha 4 é possível. Sem ela, o Python tentaria subtrair um texto de um número e o programa pararia com um erro.

Carrinho (carrinho.py): Crie um programa que peça o preço de um produto (número decimal) e a quantidade comprada (número inteiro) e exiba o custo total da compra.

preco = float(input("Digite o preço: "))
quantidade = int(input("Digite a quantidade: "))
total = preco * quantidade
print(f"Custo total: R${total}")

Exemplo de execução:

Digite o preço: 4.5
Digite a quantidade: 3
Custo total: R$13.5

Aqui, a leitura e a conversão acontecem na mesma linha. O Python executa primeiro o input(), que devolve o texto digitado, e em seguida passa esse texto para a função de conversão. O preço usa float(), que converte para número com casas decimais, porque um preço pode ter centavos. A quantidade usa int(), porque é sempre um número inteiro. Com preço 4.5 e quantidade 3, o total calculado na linha 3 é 13.5.

Somador (somador.py): Crie um programa que peça dois números inteiros e exiba a soma deles.

num1 = int(input("Digite o primeiro número: "))
num2 = int(input("Digite o segundo número: "))
print(f"A soma é: {num1 + num2}")

Exemplo de execução:

Digite o primeiro número: 10
Digite o segundo número: 10
A soma é: 20

As duas entradas são convertidas para inteiro assim que são lidas. A soma acontece dentro das chaves da f-string, que aceitam não só variáveis, mas também expressões como num1 + num2: o Python calcula o resultado e o coloca no texto.

A conversão é o que garante uma soma de números. Sem o int(), as variáveis guardariam textos, e o operador + juntaria os dois. As entradas 10 e 10 resultariam em 1010, e não em 20.