Ir para o conteúdo

Semana 3 de 8

Entrada e interação

Os programas começam a escutar. Os estudantes usam input() para fazer uma pergunta ao jogador, esperar a resposta e usá-la no que o programa responde. No fim, eles têm um chatbot curto que responde ao que você digitar.

Tempo estimado
50 a 60 minutos
Projeto
Minichatbot

A ideia

input() é como um programa escuta. Ele mostra uma mensagem, depois para e espera o jogador digitar e apertar Enter. A resposta é guardada em uma variável, então o programa pode usá-la no que fizer depois: o nome, o palpite, a escolha. Lembre-se: input() sempre devolve texto.

O que você vai aprender

  • Usar input() para obter uma resposta de quem está executando o programa.
  • Guardar uma resposta em uma variável e usá-la depois.
  • Explicar que o programa pausa em input() até a pessoa digitar algo.
  • Consertar uma linha input() que está sem as aspas.

Palavras novas

input()
Um comando do Python que faz uma pergunta e espera a pessoa digitar uma resposta.
prompt
A mensagem que input() mostra para dizer ao usuário o que digitar.
usuário
A pessoa que usa o programa; em um jogo, o jogador.

Projeto: Minichatbot

Edite o código inicial abaixo e clique em Executar para ver funcionar. Use Restaurar código inicial para voltar ao original quando quiser.

main.py
Terminal

Execute seu programa para ver a saída.

Resultado esperado

Como posso te chamar? Alex
Prazer em conhecer, Alex.
Qual jogo você está curtindo agora? futebol
futebol? Boa escolha. Logo a gente vai construir um nosso.

Minidesafio

Acrescente mais uma pergunta, talvez a cor ou o animal favorito, e use a resposta na fala do programa.

Desafio de depuração

Executar isto dá erro antes de a pergunta sequer aparecer. A mensagem dentro de input() é texto para a pessoa ler. Do que todo texto precisa em volta?

Código com erro

nome = input(Como posso te chamar? )
Ver solução
A mensagem é texto, então precisa de aspas:
nome = input("Como posso te chamar? ")

Desafio extra

Pergunte o nome do jogador e o jogo favorito dele, depois imprima uma frase que use os dois, como: Alex está pronto para jogar futebol!

Reflita

Na semana passada o seu programa dizia sempre a mesma coisa. Agora ele responde. O que você poderia perguntar ao jogador no começo de um jogo para ele sentir que o jogo é sobre ele?

Notas para o professor

input() sempre devolve texto, mesmo quando a pessoa digita um número: isso fica importante na Semana 5, quando comparamos números e usamos int(). Fique de olho nas aspas faltando em volta da mensagem. Na área de trabalho, a mensagem e a resposta digitada aparecem no painel de saída, então a saída esperada mostra uma conversa de exemplo.

Vai conduzir esta aula? Veja o guia para professores e bibliotecários com o passo a passo, os erros mais comuns e uma atividade de reserva sem computador.

Terminou esta aula? Marque como concluída para desbloquear a próxima semana.