Saltar al contenido

Semana 3 de 8

Entrada e interacción

Los programas empiezan a escuchar. Los estudiantes usan input() para hacerle una pregunta al jugador, esperar la respuesta y usarla en lo que el programa contesta. Al final tienen un chatbot corto que responde a lo que escribas.

Tiempo estimado
50-60 minutos
Proyecto
Mini chatbot

La idea

input() es la forma en que un programa escucha. Muestra un mensaje, luego se detiene y espera a que el jugador escriba y presione Enter. Su respuesta se guarda en una variable, así que el programa puede usarla (su nombre, su adivinanza, su elección) en lo que haga después. Ten en cuenta: input() siempre devuelve texto.

Lo que vas a aprender

  • Usar input() para obtener una respuesta de quien ejecuta el programa.
  • Guardar una respuesta en una variable y usarla después.
  • Explicar que el programa se detiene en input() hasta que el usuario escribe algo.
  • Arreglar una línea input() a la que le faltan las comillas.

Palabras nuevas

input()
Un comando de Python que hace una pregunta y espera a que el usuario escriba una respuesta.
mensaje
El texto que input() muestra para decirle al usuario qué escribir.
usuario
La persona que usa el programa; en un juego, el jugador.

Proyecto: Mini chatbot

Edita el código inicial de abajo y presiona Ejecutar para verlo funcionar. Usa Restablecer código inicial para volver al original cuando quieras.

main.py
Terminal

Ejecuta tu programa para ver la salida.

Resultado esperado

¿Cómo te llamo? Alex
Mucho gusto, Alex.
¿Qué juego te gusta ahorita? futbol
¿futbol? Buena elección. Pronto construiremos uno nuestro.

Mini desafío

Agrega una pregunta más, tal vez su color o animal favorito, y usa la respuesta en la contestación del programa.

Desafío de depuración

Ejecutar esto provoca un error antes de que siquiera aparezca la pregunta. El mensaje dentro de input() es texto para que lo lea el usuario. ¿Qué necesita alrededor todo texto?

Código con errores

nombre = input(¿Cómo te llamo? )
Ver solución
El mensaje es texto, así que necesita comillas:
nombre = input("¿Cómo te llamo? ")

Desafío de extensión

Pide el nombre del jugador y su juego favorito, luego imprime una frase que use los dos, como: ¡Alex está listo para jugar futbol!

Reflexiona

La semana pasada tu programa siempre decía lo mismo. Ahora te responde. ¿Qué podrías preguntarle a un jugador al inicio de un juego para que sienta que es sobre él?

Notas para docentes

input() siempre devuelve texto, incluso cuando el usuario escribe un número: eso se vuelve importante en la Semana 5, donde comparamos números y usamos int(). Vigila las comillas faltantes alrededor del mensaje. En el área de trabajo, tanto el mensaje como la respuesta escrita aparecen en el panel de salida, así que la salida esperada muestra una conversación de ejemplo.

¿Vas a dirigir esta lección? Consulta la guía para docentes y bibliotecarios para saber cómo darla, los errores más comunes y una actividad de respaldo sin computadora.

¿Terminaste esta lección? Márcala como completada para desbloquear la siguiente semana.