Fundamentos do Python para Iniciantes

0/31 aulas0%
pratica

Entrada de Dados (input()) e Conversão de Tipos

Aprenda sobre entrada de dados (input()) e conversão de tipos

40 min
Aula 5 de 5

Entrada de Dados (input()) e Conversão de Tipos

Olá, futuro(a) programador(a)! 👋 Nesta aula prática, vamos explorar como tornar nossos programas Python interativos, permitindo que eles recebam informações diretamente do usuário. Aprenderemos sobre a função input() e a importância crucial da conversão de tipos para trabalhar com esses dados corretamente.

🚀 Introdução

Até agora, nossos programas executaram instruções predefinidas ou usaram valores que nós mesmos definimos no código. Mas e se quisermos que o programa peça o nome do usuário, sua idade, ou um número para um cálculo? É aí que a entrada de dados entra em cena!

Python nos oferece uma maneira simples e eficaz de interagir com o usuário através da função input(). No entanto, há um detalhe importante: tudo o que input() recebe é tratado como texto (string). Para realizar operações matemáticas ou comparações com esses dados, precisaremos convertê-los para o tipo correto. Vamos mergulhar nisso!

🧠 Entendendo a Função input()

A função input() é a ferramenta padrão do Python para obter entrada de texto do usuário.

Como funciona:

  1. Pausa a execução: Quando o Python encontra input(), ele para de executar o código e espera.
  2. Exibe um prompt (opcional): Você pode passar uma mensagem (string) para input() como um "prompt". Essa mensagem será exibida ao usuário, indicando o que ele deve digitar.
  3. Aguarda a entrada: O usuário digita algo e pressiona Enter.
  4. Retorna uma string: O que quer que o usuário tenha digitado é retornado pela função input() sempre como uma string (texto).

Sintaxe:

input("Seu prompt aqui: ")

Exemplo Básico:

# Solicita o nome do usuário
nome = input("Qual é o seu nome? ")
 
# Exibe uma saudação personalizada
print("Olá,", nome, "! Bem-vindo(a) ao Python.")
 
# Podemos verificar o tipo da variável 'nome'
print("O tipo da variável 'nome' é:", type(nome))

Saída esperada (exemplo de interação):

Qual é o seu nome? Alice
Olá, Alice ! Bem-vindo(a) ao Python.
O tipo da variável 'nome' é: <class 'str'>

Observe que, mesmo que você digite um número, input() o tratará como texto.

numero_digitado = input("Digite um número: ")
print("Você digitou:", numero_digitado)
print("Tipo da variável:", type(numero_digitado))
 
# Tentar somar diretamente causaria um erro se 'numero_digitado' for uma string
# print(numero_digitado + 5) # Isso resultaria em um TypeError se numero_digitado for "10"

Saída esperada (exemplo de interação):

Digite um número: 10
Você digitou: 10
Tipo da variável: <class 'str'>

🔄 Conversão de Tipos (Type Casting)

Como vimos, input() sempre retorna uma string. Mas e se precisarmos fazer cálculos com números que o usuário digitou? Ou talvez converter um número para texto para exibi-lo de uma forma específica? É para isso que serve a conversão de tipos, também conhecida como type casting.

Python oferece funções embutidas para converter entre os tipos de dados mais comuns:

  • int(): Converte para número inteiro.
  • float(): Converte para número de ponto flutuante (decimal).
  • str(): Converte para string (texto).
  • bool(): Converte para booleano (Verdadeiro/Falso).

💡 int(): Convertendo para Inteiro

Use int() quando esperar que o usuário digite um número inteiro.

# Recebendo a idade do usuário e convertendo para int
idade_str = input("Qual a sua idade? ")
idade_int = int(idade_str)
 
print("Sua idade é:", idade_int)
print("Tipo da variável 'idade_int':", type(idade_int))
 
# Agora podemos fazer operações matemáticas
idade_futura = idade_int + 10
print("Daqui a 10 anos, você terá:", idade_futura, "anos.")
 
# Você pode converter diretamente na linha do input
ano_nascimento = int(input("Em que ano você nasceu? "))
print("Você nasceu em:", ano_nascimento)

Atenção: Se o usuário digitar algo que não pode ser convertido para um inteiro (ex: "vinte", "3.14"), o Python levantará um erro ValueError.

# Exemplo de ValueError
# numero_invalido = int(input("Digite um número inteiro: "))
# print(numero_invalido)

Se você executar a linha comentada acima e digitar "abc", verá:

ValueError: invalid literal for int() with base 10: 'abc'

💡 float(): Convertendo para Ponto Flutuante

Use float() quando esperar que o usuário digite um número decimal.

# Recebendo a altura do usuário e convertendo para float
altura_str = input("Qual a sua altura em metros (ex: 1.75)? ")
altura_float = float(altura_str)
 
print("Sua altura é:", altura_float, "metros.")
print("Tipo da variável 'altura_float':", type(altura_float))
 
# Podemos também fazer operações com floats
peso = float(input("Qual o seu peso em kg (ex: 70.5)? "))
print("Seu peso é:", peso, "kg.")
 
# Exemplo de cálculo simples (IMC - Índice de Massa Corporal)
# IMC = peso / (altura * altura)
imc = peso / (altura_float ** 2) # ** é o operador de exponenciação (altura ao quadrado)
print("Seu IMC é:", imc)

Atenção: Similar ao int(), float() também pode gerar um ValueError se a entrada não for um número válido (ex: "um e setenta").

💡 str(): Convertendo para String

Embora input() já retorne uma string, você pode precisar converter outros tipos para string para concatená-los com outras strings ou para exibi-los de forma específica.

idade = 30
altura = 1.80
ativo = True
 
# Convertendo para string para exibição
mensagem = "Sua idade é " + str(idade) + ", sua altura é " + str(altura) + " e você está ativo: " + str(ativo) + "."
print(mensagem)
 
# Exemplo: concatenando um número com texto
quantidade = 5
item = "maçãs"
print("Eu tenho " + str(quantidade) + " " + item + ".")

💡 bool(): Convertendo para Booleano

A função bool() converte um valor para True ou False.

  • Valores "falsos": 0, 0.0, "" (string vazia), [] (lista vazia), None.
  • Todos os outros valores são considerados "verdadeiros".
print(bool(1))        # Saída: True
print(bool(0))        # Saída: False
print(bool("Olá"))    # Saída: True
print(bool(""))       # Saída: False (string vazia)
print(bool(3.14))     # Saída: True
print(bool(None))     # Saída: False

Para entradas do usuário, geralmente você não converterá diretamente para bool de input(), mas usará comparações para obter um booleano.

resposta = input("Você aceita os termos? (sim/não): ")
aceita_termos = (resposta.lower() == "sim") # Converte para minúsculas para comparar
print("Aceita os termos:", aceita_termos)

💡 Exemplos Práticos Combinando input() e Conversão

Vamos ver alguns exemplos mais elaborados:

Exemplo 1: Calculadora de Soma Simples

print("--- Calculadora de Soma ---")
 
# Solicita o primeiro número e converte para float
num1_str = input("Digite o primeiro número: ")
num1 = float(num1_str)
 
# Solicita o segundo número e converte para float
num2_str = input("Digite o segundo número: ")
num2 = float(num2_str)
 
# Realiza a soma
soma = num1 + num2
 
# Exibe o resultado
print("A soma de", num1, "e", num2, "é:", soma)
print("Tipo da variável 'soma':", type(soma))

Exemplo 2: Calculando o Ano de Nascimento Aproximado

print("--- Calculadora de Ano de Nascimento ---")
 
# Solicita a idade do usuário
idade = int(input("Quantos anos você tem? "))
 
# Solicita o ano atual
ano_atual = int(input("Qual é o ano atual? "))
 
# Calcula o ano de nascimento aproximado
ano_nascimento_aproximado = ano_atual - idade
 
# Exibe o resultado
print("Você nasceu aproximadamente em:", ano_nascimento_aproximado)

🛠️ Exercícios Práticos

Agora é a sua vez de colocar a mão na massa! Crie um novo arquivo .py para cada exercício ou use um ambiente interativo.

Exercício 1: Saudação Personalizada

Crie um programa que peça o nome completo do usuário e, em seguida, imprima uma mensagem de saudação que inclua o nome digitado.

  • Peça o nome completo do usuário usando input().
  • Armazene o nome em uma variável.
  • Imprima uma mensagem como: "Bem-vindo(a), [Nome Completo]! É um prazer te conhecer."
# Seu código aqui para o Exercício 1

Exercício 2: Dobro do Número

Crie um programa que peça um número inteiro ao usuário e, em seguida, imprima o dobro desse número.

  • Peça um número inteiro ao usuário.
  • Converta a entrada para um tipo numérico (inteiro).
  • Calcule o dobro do número.
  • Imprima o resultado.
# Seu código aqui para o Exercício 2

Exercício 3: Média de Duas Notas

Crie um programa que peça duas notas (que podem ser decimais) ao usuário e calcule a média aritmética dessas notas.

  • Peça a primeira nota ao usuário.
  • Peça a segunda nota ao usuário.
  • Converta ambas as entradas para o tipo float.
  • Calcule a média.
  • Imprima a média formatada (ex: "A média das notas é: X.XX").
# Seu código aqui para o Exercício 3

Exercício 4: Área de um Retângulo

Crie um programa que calcule a área de um retângulo. O programa deve solicitar ao usuário o comprimento e a largura do retângulo.

  • Peça o comprimento do retângulo (pode ser decimal).
  • Peça a largura do retângulo (pode ser decimal).
  • Converta as entradas para float.
  • Calcule a área (comprimento * largura).
  • Imprima a área.
# Seu código aqui para o Exercício 4

Exercício 5: Conversor de Temperatura (Desafio! 🌡️)

Crie um programa que converta uma temperatura de Celsius para Fahrenheit. A fórmula é: F = (C * 9/5) + 32.

  • Peça a temperatura em Celsius ao usuário (pode ser decimal).
  • Converta a entrada para float.
  • Aplique a fórmula de conversão.
  • Imprima a temperatura em Fahrenheit.
# Seu código aqui para o Exercício 5

📝 Resumo e Próximos Passos

Parabéns! 🎉 Você dominou a arte de interagir com o usuário e manipular os tipos de dados em Python.

Nesta aula, aprendemos:

  • A função input() para obter dados do usuário, que sempre retorna uma string.
  • A importância da conversão de tipos (type casting) para trabalhar com dados de forma eficaz.
  • As funções int(), float(), str() e bool() para converter entre os tipos de dados.
  • Como combinar input() e conversão de tipos para criar programas interativos.

Com esses conhecimentos, seus programas podem agora ser muito mais dinâmicos e úteis!

No próximo módulo, vamos explorar Operadores Aritméticos e Lógicos, que permitirão que você realize cálculos mais complexos e tome decisões em seus programas. Continue praticando! 💪

© 2025 Escola All Dev. Todos os direitos reservados.

Entrada de Dados (input()) e Conversão de Tipos - Fundamentos do Python para Iniciantes | escola.all.dev.br