⬅ Voltar ao Dashboard Capítulo 3 — Variáveis e Entrada

⌨ Entrada de Dados: input()

Seção 3.7 — Programas que conversam com o usuário

💬 A função input()

Até agora, todos os valores estavam escritos no próprio programa. Mas o melhor da programação é poder receber dados do usuário durante a execução.

A função input() exibe uma mensagem e espera o usuário digitar algo:

Listagem 3.16x = input("Digite um número: ") print(x)
SaídaDigite um número: 5 5

📝 Exemplo interativo

Listagem 3.18nome = input("Digite seu nome: ") print("Você digitou %s" % nome) print("Olá, %s!" % nome)
SaídaDigite seu nome: João Você digitou João Olá, João!

O programa funciona com qualquer nome — ele não se importa com o que o usuário digita (por enquanto).

🔄 Conversão de tipos: int() e float()

A função input() sempre retorna uma string. Se você precisa de um número, deve converter:

Listagem 3.20 — Bônus por tempo de serviçoanos = int(input("Anos de serviço: ")) valor_por_ano = float(input("Valor por ano: ")) bônus = anos * valor_por_ano print("Bônus de R$ %5.2f" % bônus)
SaídaAnos de serviço: 10 Valor por ano: 25 Bônus de R$ 250.00

📋 Combinando os três tipos

Podemos combinar input(), int() e float() no mesmo programa para ler dados de tipos diferentes:

Listagem 3.22nome = input("Digite seu nome: ") idade = int(input("Digite sua idade: ")) saldo = float(input("Digite o saldo da sua conta bancária: ")) print(nome) print(idade) print(saldo)
SaídaDigite seu nome: João Digite sua idade: 42 Digite o saldo da sua conta bancária: 15756.34 João 42 15756.34

Note que print(saldo) exibe 15756.34 e não 15756.340000, pois o Python remove zeros desnecessários ao exibir floats diretamente.

⚠ Erros comuns na entrada de dados

Se o usuário digitar algo que não pode ser convertido, o programa dá erro:

Erro: letras onde esperava númeroDigite sua idade: abc ValueError: invalid literal for int() with base 10: 'abc'
Erro: vírgula no lugar do pontoDigite o saldo: 17,4 ValueError: could not convert string to float: '17,4'

⚠ Em Python, o separador decimal é o ponto (17.4), não a vírgula (17,4). Esse é um erro muito comum para brasileiros! Por enquanto, nossos programas ainda não tratam esses erros — veremos isso mais adiante.

📝 Exercícios do Capítulo 3

✏ Exercício 3.7

Faça um programa que peça dois números inteiros. Imprima a soma deles na tela.

✏ Exercício 3.8

Escreva um programa que leia um valor em metros e o exiba convertido em milímetros.

✏ Exercício 3.9

Escreva um programa que leia a quantidade de dias, horas, minutos e segundos. Calcule o total em segundos.

✏ Exercício 3.10

Faça um programa que calcule o aumento de um salário. Solicite o valor do salário e a porcentagem de aumento. Exiba o valor do aumento e o novo salário.

✏ Exercício 3.11

Faça um programa que solicite o preço de uma mercadoria e o percentual de desconto. Exiba o valor do desconto e o preço a pagar.

✏ Exercício 3.12

Escreva um programa que calcule o tempo de uma viagem de carro. Pergunte a distância a percorrer e a velocidade média esperada para a viagem.

✏ Exercício 3.13

Escreva um programa que converta uma temperatura digitada em °C para °F. Fórmula: F = (9 × C / 5) + 32

✏ Exercício 3.14

Escreva um programa que pergunte a quantidade de km percorridos por um carro alugado pelo usuário, assim como a quantidade de dias pelos quais o carro foi alugado. Calcule o preço a pagar, sabendo que o carro custa R$ 60 por dia e R$ 0,15 por km rodado.

✏ Exercício 3.15

Escreva um programa para calcular a redução do tempo de vida de um fumante. Pergunte a quantidade de cigarros fumados por dia e quantos anos ele já fumou. Considere que um fumante perde 10 minutos de vida a cada cigarro; calcule quantos dias de vida um fumante perderá. Exiba o total em dias.