Fundamentos do Python para Iniciantes
Entrada de Dados (input()) e Conversão de Tipos
Aprenda sobre entrada de dados (input()) e conversão de tipos
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:
- Pausa a execução: Quando o Python encontra
input(), ele para de executar o código e espera. - 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. - Aguarda a entrada: O usuário digita algo e pressiona
Enter. - 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: FalsePara 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 1Exercí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 2Exercí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 3Exercí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 4Exercí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 umastring. - A importância da conversão de tipos (type casting) para trabalhar com dados de forma eficaz.
- As funções
int(),float(),str()ebool()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! 💪