Curso Python Básico NoirCode: Do Zero ao Seu Primeiro Código - Aula 3

 

Python para Iniciantes: Entrada e Saída – Conversando com o Usuário

Olá, criador digital! Bem-vindo de volta ao NoirCode, o seu espaço para aprender programação de forma simples, divertida e cheia de criatividade. Nas aulas anteriores, você deu passos incríveis: na Aula 1, você descobriu o que é Python e escreveu seu primeiro “Oi, mundo!”; na Aula 2, aprendeu a usar variáveis para guardar informações como se fossem caixas mágicas. Agora, na Aula 3 do nosso Curso de Python Básico para Iniciantes, vamos aprender como conversar com o usuário usando input() e print(). Imagine que seu programa é um amigo que pode fazer perguntas e responder – vamos transformar seu código em um verdadeiro bate-papo digital! Preparado para dar voz ao seu programa? Vamos nessa aventura juntos! 🌟

Tela com código de programaçãoe símbolo Python
Imagem: Grok


O que são entrada e saída no Python?

Pense no seu programa como um robô que você está construindo. Até agora, ele sabia guardar informações (com variáveis) e mostrar mensagens na tela (com print()). Mas e se você quiser que ele pergunte algo ao usuário, como o nome ou a cor favorita, e depois use essas respostas para criar mensagens personalizadas? É aí que entram entrada e saída no Python:

  • Saída: É quando seu programa “fala” com o usuário, mostrando mensagens na tela. Você já usou isso com print() – por exemplo, print("Oi, mundo!").

  • Entrada: É quando seu programa “escuta” o usuário, pedindo que ele digite algo. Para isso, usamos a função input() – ela faz o programa esperar até que o usuário escreva uma resposta e aperte Enter.

Com input() e print(), seu programa pode interagir com o usuário, tornando tudo mais dinâmico e divertido. É como transformar seu código em um amigo que conversa com você! Vamos aprender como fazer isso passo a passo.

Usando print() para falar com o usuário

Você já conhece o print() – usamos ele nas aulas anteriores para mostrar mensagens e valores de variáveis na tela. Mas ele é mais poderoso do que parece! Vamos explorar algumas formas de usar o print() para criar mensagens legais.

Mostrando várias coisas de uma vez

O print() pode exibir várias informações juntas, separando-as por vírgulas. Veja este exemplo:

nome = "Nick"

idade = 19

print("Oi, eu sou ", nome, " e tenho ", idade, " anos!")


Rode o código e você verá:

Oi, eu sou Nick e tenho 19 anos!


O print() junta tudo automaticamente, colocando um espaço entre os itens separados por vírgulas. Isso é ótimo para criar mensagens que misturam variáveis e texto!

Usando f-strings (de novo!)

Na Aula 2, você aprendeu sobre f-strings, que são uma forma moderna de juntar variáveis e texto. Vamos usar f-strings com print() para criar uma mensagem mais fluida:

nome = "Luna"

idade = 22

print(f"Oi, eu sou {nome} e tenho {idade} anos!")


A saída é a mesma:

Oi, eu sou Luna e tenho 22 anos!


F-strings deixam o código mais limpo e fácil de ler, e vamos continuar usando elas porque são incríveis!

Dica NoirCode

Você pode personalizar a saída do print() usando o parâmetro end. Por padrão, o print() pula para uma nova linha depois de mostrar a mensagem. Mas se você não quiser pular a linha, pode mudar isso:

print("Oi,", end=" ")

print("tudo bem?")


Saída:

Oi, tudo bem?


O end=" " faz o print() terminar com um espaço em vez de pular a linha. Isso é útil para criar mensagens que continuam na mesma linha!

Usando input() para ouvir o usuário

Agora que sabemos “falar” com o usuário usando print(), vamos aprender a “escutar” com input(). A função input() faz o programa pausar e esperar que o usuário digite algo e aperte Enter. Depois, ela guarda o que o usuário digitou em uma variável. Vamos ver como funciona:

nome = input("Qual é o seu nome? ")

print(f"Olá, {nome}! Prazer em conhecê-lo!")


Rode o código. O programa vai:

  1. Mostrar a pergunta “Qual é o seu nome?” e esperar sua resposta.

  2. Quando você digitar (ex.: “Dark”) e apertar Enter, ele vai guardar “Dark” na variável nome.

  3. Depois, vai mostrar a mensagem personalizada:

Qual é o seu nome? Dark

Olá, Dark! Prazer em conhecê-lo!


O que aconteceu?

  • input("Qual é o seu nome? ") mostra a mensagem entre parênteses e espera o usuário digitar algo.

  • O que o usuário digita é guardado na variável nome.

  • Usamos uma f-string para criar uma mensagem personalizada com o nome digitado.

Importante: Tudo que vem do input() é texto

Quando você usa input(), o Python sempre entende a resposta do usuário como uma string (texto), mesmo que o usuário digite um número. Veja este exemplo:

idade = input("Quantos anos você tem? ")

print(f"Você tem {idade} anos!")


Se o usuário digitar “12”, a saída será:

Quantos anos você tem? 12

Você tem 12 anos!


Mas preste atenção: nesse momento, idade é uma string ("12"), não um número (12). Isso significa que você não pode fazer cálculos com ela ainda. Vamos aprender como transformar esse texto em número na próxima seção!

Transformando entradas em números

Se você quiser fazer cálculos com algo que o usuário digitou, precisa transformar o texto (string) em um número. Para isso, usamos as funções int() (para números inteiros) ou float() (para números decimais). Vamos ver um exemplo:

idade_texto = input("Quantos anos você tem? ")

idade = int(idade_texto)  # Transforma o texto em número inteiro

idade_futura = idade + 5

print(f"Daqui a 5 anos, você terá {idade_futura} anos!")


Rode o código e digite, por exemplo, “12”. A saída será:

Quantos anos você tem? 12

Daqui a 5 anos, você terá 17 anos!


O que aconteceu?

  • input("Quantos anos você tem? ") pegou o texto que o usuário digitou (ex.: “12”) e guardou em idade_texto.

  • int(idade_texto) transformou o texto “12” no número 12 e guardou em idade.

  • Depois, somamos 5 à variável idade para calcular idade_futura e mostramos o resultado com print().

Um jeito mais direto

Você pode combinar tudo em uma linha só, assim:

idade = int(input("Quantos anos você tem? "))

idade_futura = idade + 5

print(f"Daqui a 5 anos, você terá {idade_futura} anos!")


A saída será a mesma, mas o código fica mais curto e limpo. Só tome cuidado: se o usuário digitar algo que não é um número (ex.: “doze”), o Python vai dar um erro. Vamos falar sobre isso mais adiante!

E se for um número decimal?

Se o usuário digitar um número com casas decimais (ex.: 1.65), use float() em vez de int():

altura = float(input("Qual é a sua altura em metros? "))

print(f"Você tem {altura} metros de altura!")


Se o usuário digitar “1.65”, a saída será:

Qual é a sua altura em metros? 1.65

Você tem 1.65 metros de altura!


Criando um programa interativo

Agora que sabemos pedir informações ao usuário e mostrar mensagens, vamos criar um programa que combina tudo isso! Vamos fazer um mini-chat digital que pergunta algumas coisas ao usuário e responde com uma mensagem personalizada. Digite o código abaixo:

# Mini-chat digital

print("Oi! Eu sou seu amigo digital. Vamos conversar?")

nome = input("Qual é o seu nome? ")

cor_favorita = input("Qual é a sua cor favorita? ")

idade = int(input("Quantos anos você tem? "))


# Calculando a idade futura

idade_futura = idade + 10


# Mostrando uma mensagem personalizada

print(f"Que legal, {nome}! Você gosta da cor {cor_favorita}, né?")

print(f"Você tem {idade} anos, e daqui a 10 anos, terá {idade_futura} anos!")

print("Foi um prazer conversar com você! Até a próxima!")


Salve o arquivo como mini_chat.py e rode o código. Uma interação típica seria:

Oi! Eu sou seu amigo digital. Vamos conversar?

Qual é o seu nome? Mitnick

Qual é a sua cor favorita? azul

Quantos anos você tem? 12

Que legal, Mitnick! Você gosta da cor azul, né?

Você tem 12 anos, e daqui a 10 anos, terá 22 anos!

Foi um prazer conversar com você! Até a próxima!


O que fizemos?

  • Usamos print() para começar a conversa com uma mensagem de boas-vindas.

  • Usamos input() para perguntar o nome, a cor favorita e a idade do usuário.

  • Convertemos a idade de texto para número com int() para podermos fazer cálculos.

  • Calculamos a idade futura somando 10 à idade digitada.

  • Usamos f-strings para criar mensagens personalizadas com as respostas do usuário.

Desafio NoirCode

Agora é sua vez de personalizar o mini-chat! Adicione mais perguntas ao programa, como “Qual é o seu animal favorito?” ou “O que você gosta de fazer?”. Use as respostas para criar novas mensagens personalizadas. Por exemplo, se o usuário digitar “gato” como animal favorito, você pode adicionar:

animal = input("Qual é o seu animal favorito? ")

print(f"Que fofo! Você gosta de {animal}s!")


Rode o código e veja como ele fica ainda mais legal com suas perguntas!

Lidando com erros: O que pode dar errado?

Quando usamos input(), o usuário pode digitar qualquer coisa – e isso pode causar erros no nosso programa. Vamos ver dois problemas comuns e como evitá-los.

1. Digitar algo que não é um número

Se o usuário digitar algo que não é um número quando pedimos a idade, o Python vai dar um erro. Experimente este código:

idade = int(input("Quantos anos você tem? "))


Se o usuário digitar “doze” em vez de “12”, você verá um erro como:

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


Isso acontece porque int() não consegue transformar “doze” em um número. Para evitar esse erro, podemos usar algo chamado tratamento de erros com try e except. Veja como:

try:

    idade = int(input("Quantos anos você tem? "))

    print(f"Você tem {idade} anos!")

except:

    print("Ops, digite um número, por favor!")


Agora, se o usuário digitar “doze”, o programa não vai quebrar – ele vai mostrar:

Quantos anos você tem? doze

Ops, digite um número, por favor!


Vamos falar mais sobre try e except em aulas futuras, mas por enquanto, saiba que isso ajuda a proteger seu programa de erros!

2. Esquecer de usar f-strings ou + para juntar textos

Se você tentar misturar texto e variáveis sem usar f-strings ou o operador +, pode ter problemas. Por exemplo:

nome = input("Qual é o seu nome? ")

print("Oi, " nome "!")  # Errado!


Isso vai dar um erro de sintaxe porque o Python não entende como juntar o texto e a variável. Corrija assim:

nome = input("Qual é o seu nome? ")

print("Oi, " + nome + "!")  # Correto!


Ou, melhor ainda, use f-strings:

nome = input("Qual é o seu nome? ")

print(f"Oi, {nome}!")


Se você encontrar outros erros, não se preocupe! Erros fazem parte do aprendizado, e o Python sempre te dá uma dica do que deu errado. Leia a mensagem de erro e tente corrigir – ou peça ajuda nos comentários aqui no NoirCode!

Dica NoirCode: Seja criativo nas suas perguntas!

Quando usar input(), pense em perguntas que deixem o usuário animado para responder. Em vez de só perguntar “Qual é o seu nome?”, que tal “Qual seria o seu nome se você fosse um super-herói?” ou “Qual é o nome do seu melhor amigo imaginário?”. Isso torna a interação mais divertida e incentiva o usuário a testar o programa várias vezes!

Conclusão: Você agora sabe conversar com o usuário!

Parabéns, criador digital! Hoje, você aprendeu como usar input() e print() para criar programas interativos que conversam com o usuário. Você descobriu como pedir informações, transformar respostas em números, e criar mensagens personalizadas com f-strings. Com o projeto do mini-chat, você transformou seu código em um amigo digital que faz perguntas e responde de forma única – isso é incrível! 🎉

Na próxima aula, vamos aprender sobre condições – como fazer seu programa tomar decisões, como “se a idade for maior que 10, mostre uma mensagem especial”. Você vai criar um programa que decide se alguém pode entrar em um “clube digital” com base na idade – vai ser superlegal! Fique de olho no NoirCode para a Aula 4, e enquanto isso, queremos te ouvir: como foi criar seu mini-chat? Compartilhe suas perguntas e respostas no X com a hashtag #NoirCodePythonBasico e nos conte qual foi sua parte favorita da aula de hoje!


O que achou de conversar com o usuário no Python? Deixe seu comentário abaixo, compartilhe seu mini-chat no X com #NoirCodePythonBasico, e junte-se à nossa comunidade para continuar essa aventura de aprendizado. No NoirCode, cada linha de código te leva mais longe no mundo digital!

Veja também: