Trilha de aprendizado · Nível 1 · Tutorial 6

Ler entradas e converter tipos

Ao concluir, você conseguirá receber dados pelo teclado, convertê-los para os tipos necessários e usá-los em um programa sequencial com entrada, cálculo e saída.

  • Nível: Iniciante
  • Duração: 15 min
  • 6 passos
Ler entradas e converter tipos

Passo 1 de 6

Receber texto pelo teclado

Use input para solicitar uma resposta e descubra o que fica armazenado na variável, mesmo quando você digita números.

Peça uma informação

A função input mostra uma mensagem no terminal e espera você digitar uma resposta. Quando você pressiona Enter, ela retorna o texto digitado, que pode ser armazenado em uma variável.

python
nome = input("Qual é seu nome? ")
print(f"Olá, {nome}!")

Exemplo

Mensagem não é resposta

Se você digitar Ana e pressionar Enter, nome receberá o texto "Ana" e a próxima linha exibirá Olá, Ana!. A mensagem "Qual é seu nome? " apenas orienta a digitação: ela não faz parte da resposta armazenada.

O que fica na variável?

Ao executar cidade = input("Onde você mora? "), o usuário digita Recife e pressiona Enter. Qual valor fica armazenado em cidade?

E se você digitar números?

input sempre retorna uma string, do tipo str. Ele não interpreta automaticamente a resposta como número.

Confira no seu computador: salve o código abaixo em entrada.py e execute no terminal com o comando que você já usa para rodar scripts. Quando aparecer a pergunta, digite apenas 12, sem aspas, e pressione Enter.

Observe o valor e seu tipo

python
resposta = input("Quantos livros você tem? ")
print(resposta)
print(type(resposta))

Dica

A espera faz parte da leitura

Enquanto você não confirmar a resposta com Enter, o programa ficará esperando no input. Só depois ele executará os dois comandos print.

Explique o resultado

Depois de digitar 12 no programa anterior, o que os dois comandos print exibiram? Explique por que resposta não contém um número inteiro. Se não puder executar agora, descreva a saída esperada.

Escreva pelo menos 20 caracteres (0/20).

Passo 2 de 6

Converter entradas em números inteiros

Use int para transformar o texto recebido pelo teclado em um inteiro e realizar somas numéricas.

Do texto ao número

Você já viu que input retorna texto. Para usar uma resposta como número inteiro, aplique int ao texto recebido e armazene o novo valor.

Se você digitar 12

python
entrada = input("Quantidade de peças (número inteiro): ")
quantidade = int(entrada)

print(entrada + "3")   # Exibe 123: concatenação de textos
print(quantidade + 3)  # Exibe 15: soma de números

Dica

A origem continua sendo texto

int(entrada) retorna um novo valor: não altera automaticamente entrada. No exemplo, entrada continua sendo "12", do tipo str, e quantidade recebe 12, do tipo int.

Complete a conversão

Complete com o nome da função que permite usar a quantidade em uma soma numérica:

entrada = input("Quantidade de livros (número inteiro): ")
quantidade = ____(entrada)
print(quantidade + 2)

Ler e converter na mesma instrução

Quando não precisar guardar o texto original, você pode combinar int com input. Primeiro, input recebe a resposta; depois, int converte esse texto; por fim, a variável recebe o inteiro.

python
quantidade = int(input("Quantidade de peças (número inteiro): "))
print(quantidade + 3)

Atenção

O texto precisa ter formato de inteiro

Para os números em base decimal usados aqui, int aceita textos como "12", "0", "+12" e "-12": o sinal é opcional. Já "12.0" não pode ser convertido diretamente com int, mesmo representando uma quantidade sem parte fracionária. Ao responder ao input, digite apenas o número, sem as aspas.

Preveja o resultado

python
quantidade = int(input("Quantidade de cadernos (número inteiro): "))
total = quantidade + 2
print(total)

O usuário digita +8 e pressiona Enter. Qual número será exibido por print(total)?

Passo 3 de 6

Ler números com parte decimal

Use float para converter entradas e reconheça os formatos de texto aceitos nas conversões numéricas.

Do texto ao número decimal

Para ler um número que pode ter parte decimal, use float. Assim como int, essa conversão recebe um texto compatível e devolve um valor numérico.

Formatos aceitos por float

python
print(float("2.5"))   # 2.5
print(float("8"))     # 8.0
print(float("+8"))    # 8.0
print(float("-2.5"))  # -2.5

Compare os formatos

float aceita textos numéricos com ou sem parte decimal e com sinal opcional. Já int não aceita diretamente um texto com ponto decimal: "8.0" é compatível com float, mas não com int.

Dica

Ponto, não vírgula

Mesmo com mensagens em português, use ponto como separador decimal. Nas conversões diretas com int e float, entradas como "2,5", "2.5 m", "dois" e o texto vazio "" não são compatíveis.

Qual conversão aceita o texto?

Relacione os formatos

Associe cada texto às conversões que o aceitam diretamente. As aspas apenas indicam que os valores são textos.

Toque em um item e depois no par correspondente.

Oriente a digitação

Uma solicitação clara evita confusão

Informe a unidade na mensagem e peça apenas o número, com ponto decimal. No código abaixo, input recebe o texto e float o converte antes de armazenar o resultado em comprimento.

Leitura com float

python
comprimento = float(input("Comprimento em metros (só o número, com ponto; exemplo: 2.5): "))
print(f"Comprimento informado: {comprimento} m")

Exemplo

O que esperar

Ao digitar 2.5 e pressionar Enter, a saída será Comprimento informado: 2.5 m. Digite sem aspas e sem a unidade: o m já é acrescentado na saída.

Escolha uma boa solicitação

Como pedir uma temperatura?

Um programa usa float(input(...)) para ler a temperatura em graus Celsius. Qual mensagem orienta melhor uma entrada compatível?

Passo 4 de 6

Entender o descarte da parte fracionária

Preveja conversões de float para int e diferencie descarte da fração, arredondamento e conversão de texto.

Descartar não é arredondar

Ao receber um valor float, int descarta a parte fracionária. O resultado vai em direção a zero: isso vale tanto para números positivos quanto para negativos.

Observe os resultados

python
print(int(4.9))   # 4
print(int(-4.9))  # -4
print(int(-0.8))  # 0

Atenção

Há perda de informação

Mesmo perto do próximo inteiro, 4.9 vira 4, não 5. Use essa conversão apenas quando descartar a fração fizer sentido para o cálculo.

Preveja nos dois sentidos

Quais são os resultados de int(7.9) e int(-7.9), nessa ordem?

O tipo recebido faz diferença

Exemplo

Número não é texto

  • int(6.8) resulta em 6: recebe um float e descarta a fração.
  • int("6.8") não é uma conversão válida: recebe um texto com ponto decimal, formato não aceito diretamente por int.

As aspas mudam o tipo do valor recebido e, portanto, o que a conversão pode fazer.

De inteiro para float

float também aceita um inteiro: float(6) produz 6.0. Isso muda o tipo para float, mas não recupera uma fração descartada anteriormente.

A fração volta?

Acompanhe as duas conversões.

python
inteiro = int(8.7)
resultado = float(inteiro)
print(resultado)

O programa exibe 8.7, pois converter de volta para float recupera a parte fracionária.

Passo 5 de 6

Converter números em texto com str

Escolha quando usar str para obter texto e quando exibir números diretamente com print ou f-strings.

Quando a próxima operação exige texto

A escolha da conversão depende da próxima operação. Para calcular, você usou int ou float. Para obter texto a partir de um número, use str. Isso permite, por exemplo, juntar esse texto a outro com +.

Número para cálculo, texto para concatenação

python
quantidade = 3
texto = str(quantidade)
mensagem = "Trechos: " + texto
print(mensagem)  # Trechos: 3

Dica

str(quantidade) retorna o texto "3"; quantidade continua sendo o inteiro 3. A expressão "Trechos: " + quantidade não funciona, pois essa concatenação exige texto dos dois lados.

Complete a conversão

A variável comprimento contém o número 2.5. Complete com o nome da função que permite concatená-lo ao texto:

mensagem = "Comprimento: " + ____(comprimento)

Exibir não exige str explícito

Se o objetivo é apenas exibir um número, print aceita o valor diretamente. Uma f-string também permite inseri-lo sem chamar str.

Conversão e formatação têm papéis diferentes

python
comprimento = 2.5
print("Comprimento:", comprimento)       # Comprimento: 2.5
print(f"Comprimento: {comprimento}")     # Comprimento: 2.5
print(str(comprimento))                  # 2.5
print(f"Comprimento: {comprimento:.2f}") # Comprimento: 2.50

Dica

str converte para texto, mas não define uma quantidade fixa de casas decimais. Para exibir duas casas, use a formatação :.2f na f-string. O valor numérico armazenado não muda.

Escolha conforme o objetivo

total contém o número 7.5. Você quer exibir exatamente “Total: 7.50”. Qual instrução atende ao objetivo sem chamar str?

Passo 6 de 6

Aplicar entrada, cálculo e saída em um programa

Monte e execute um programa que calcule o comprimento total de trechos de um material, usando entradas de texto, inteiro e decimal.

Escolha o tipo de cada entrada

Quanto material será necessário?

Vamos calcular o comprimento total de vários trechos de mesmo tamanho. O programa deve pedir a descrição do material, a quantidade de trechos e o comprimento de cada trecho em metros. Depois, deve multiplicar quantidade por comprimento e exibir o total com duas casas decimais.

Associe a entrada à leitura adequada

Escolha como receber cada dado para usá-lo no programa.

Toque em um item e depois no par correspondente.

Organize o fluxo do programa

Da entrada à saída

Organize as instruções para pedir primeiro o material, depois a quantidade e, por último, o comprimento. Em seguida, calcule e apresente o total.

  1. print(f"Material: {material} | Comprimento total: {total:.2f} m")
  2. comprimento = float(input("Comprimento em metros (use ponto): "))
  3. total = quantidade * comprimento
  4. material = input("Material: ")
  5. quantidade = int(input("Quantidade de trechos: "))

Execute no seu computador

Seu programa completo

No seu editor, crie o arquivo comprimento_total.py com o código abaixo. Salve e execute no seu terminal com o comando de Python usado no seu ambiente, por exemplo, python comprimento_total.py ou python3 comprimento_total.py. Faça duas execuções, uma para cada teste. Digite apenas os valores, sem aspas nem unidades, e confirme cada entrada com Enter.

comprimento_total.py

python
material = input("Material: ")
quantidade = int(input("Quantidade de trechos: "))
comprimento = float(input("Comprimento em metros (use ponto): "))

total = quantidade * comprimento

print(f"Material: {material} | Comprimento total: {total:.2f} m")

Exemplo

Dois testes para conferir

Teste 1 — digite, nesta ordem: Fita, 3 e 1.25.
Cálculo: 3 × 1.25 = 3.75.
Última linha esperada:
Material: Fita | Comprimento total: 3.75 m

Teste 2 — execute novamente e digite: Corda, 4 e 2.5.
Cálculo: 4 × 2.5 = 10.0.
Última linha esperada:
Material: Corda | Comprimento total: 10.00 m

Compare manualmente a última linha de cada execução. O formato .2f controla as casas decimais exibidas, sem alterar o valor armazenado em total.

Confira e conclua

O que aconteceu nas duas execuções?

Relate o total exibido em cada teste e diga se coincidiu com o esperado. Justifique o uso de int na quantidade e float no comprimento. Por que não foi necessário usar str na descrição nem no total dentro da f-string? Se ainda não executou, informe isso e registre sua previsão.

Escreva pelo menos 30 caracteres (0/30).

Resumo

Entrada, conversão, cálculo e saída

  • input retorna texto. Escolha a conversão pelo tipo necessário à próxima operação.
  • int aceita textos inteiros, como "3" e "-3", mas não "3.0". Ao receber um valor float, descarta a parte fracionária em direção a zero, sem arredondar.
  • float aceita textos como "2", "2.5" e "-2.5". Nas entradas numéricas usadas aqui, não use vírgula decimal, unidades, texto não numérico nem entrada vazia.
  • str produz texto a partir de um número, mas não é necessário apenas para exibi-lo com print ou f-strings.
  • Leia e converta os dados antes do cálculo; depois, apresente o resultado com a formatação desejada.

Tutorial concluído

Parabéns! Você concluiu: Ler entradas e converter tipos

Ao criar seu próximo programa, pense: qual dado será recebido e de qual tipo o cálculo precisa?

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso