Python-input-output

Ya sabemos crear un archivo y abrirlo con Python, pero de momento ese archivo sólo nos ha permitido recibir información del programa que almacenaba, en ningún momento hemos tenido que interactuar con el mismo. ¿Qué tal si hacemos un programa en el cual tengamos que interactuar con la máquina?

El proceso sería el siguiente: el programa nos pedirá datos que tendremos que introducir de algún modo (este proceso se denomina INPUT). Tras recibir los datos, el programa analizará la información y realizará una acción en consecuencia, mostrándonos un resultado (a este proceso lo denominamos OUTPUT).

Ahora sólo queda buscarle una aplicación práctica y sencilla, porque aún no somos expertos programadores (¡pero algún día lo seremos!). ¿Qué tal un traductor? Tendríamos que pensar en un idioma que no tenga muchas palabras para no complicarnos la vida, un idioma escueto, parco en palabras, algo así como… el idioma de un gato.

Empezaremos creando un archivo en la carpeta que queramos. A estas alturas sería conveniente crear una carpeta para guardar todos nuestros proyectos de Python.

Una vez creada la carpeta crearemos un nuevo documento para almacenar nuestro programa y lo llamaremos Cattranslator.py. Aunque de cara a que quede bonito he usado una mayúscula inicial, si vas a usar un archivo desde Python es conveniente no usar mayúsculas en los nombres de archivo, así como tildes o símbolos no ingleses (como nuestra querida eñe). Tenlo en cuenta para el futuro.

Python input output 01

Tras crear el archivo debemos programar el INPUT (en Python input). En este caso vamos a intentar que el programa nos pregunte por una frase para ser traducida, por lo que debemos indicar aquello que queremos que el usuario introduzca. En este caso una frase del tipo Frase que quieres traducir a gatuno.

La respuesta que demos debe ser almacenada por el programa y tenemos que indicarle dónde la almacena. En nuestro caso vamos a crear un espacio en nuestro ordenador llamado mensaje para que se almacene la respuesta. Escribe lo siguiente en el archivo:

Python input output 02

Al escribir \n le estamos diciendo al programa que tiene que introducir un salto de línea o salto de carro, es decir, Frase que quieres traducir a gatuno va a aparecer en una única línea.

Si ejecutamos este archivo desde terminal veremos lo siguiente:

Python input output 03

Si introducimos cualquier tipo de frase veremos que no ocurre nada, dado que aún no hemos programado nada en respuesta a nuestra frase… ¡vamos a ello!

Ahora viene el problema, ¿cómo traducimos una frase a gatuno? Imagina la frase Necesito comer más sardinas (algo que un gato seguramente tenga en mente en varias ocasiones a lo largo del día). En gatuno seguramente sea Miau miau miau miau, tendríamos que poner un miau por cada palabra pero, ¿cómo podemos contarlas? Python sólo reconoce letras y cada palabra tiene un número distinto de letras. ¡Ya sé!, ¡contando los espacios!, cada palabra está separada por un espacio, así que si cuento los espacios sólo tendré que poner una cantidad de miaus equivalente al número de espacios sumando uno (ya que la primera palabra no tiene espacio delante).

Para ello, podemos decirle a Python que cuente el número de espacios en mensaje (nombre que tiene el lugar donde hemos almacenado nuestra respuesta). Esa cuenta también tenemos que almacenarla en algún sitio. ¿Qué tal si llamamos a ese sitio cantidad_palabras?

Escribe lo siguiente en tu archivo:

Python input output 04

Para indicar que cuente dentro de mensaje sólo hay que escribir el código mensaje.count. A continuación indicamos que cuente los espacios (siempre que ponemos una letra o símbolo, como el espacio, hay que ponerlo entre comillas). Como ya hemos indicado antes, le sumamos 1 para tener el total de palabras.

Una vez contado el número de espacios sólo deberíamos mostrarlo. Vamos a empezar añadiendo print (cantidad_palabras) y viendo que pasa si ejecutamos el programa:

Python input output 05

Ahora ejecutamos el programa con la frase Necesito comer más sardinas:

Python input output 06

¡Hemos conseguido contar la cantidad de palabras! El programa claramente nos indica que nuestra frase tiene cuatro palabras. Ahora vamos a ir un poco más allá y vamos a convertir esas cuatro palabras al idioma gatuno. Para ello sólo hay que decirle a Python que ponga cuatro miaus, y sería alucinante poner primero que esos cuatro miaus son resultado de traducir la frase que hemos puesto. Prueba a escribir lo siguiente:

Python input output 07

Vamos a imprimir en una línea el texto Traducción de y le añadiremos el mensaje almacenado (en nuestro caso Necesito comer más sardinas) y dos puntos para generar una frase completa. Acostúmbrate a añadir espacios en las frases cuando vas a encadenarlas, si no seguramente aparezcan la última palabra de una frase y la primera de la siguiente unidas. El asterisco equivale al símbolo de multiplicación.

En la siguiente línea imprimiremos tantos miau como número almacene cantidad_palabras (en nuestro ejemplo, un 4). Añadimos un espacio tras miau para que no aparezcan todos juntos.

¡Ya tenemos nuestro traductor! Intenta conseguir que el primer miau salga con la primera m mayúscula o cambiar a un traductor perruno, o de cualquier otro animal (¿cómo hacen las jirafas?).

En esta entrada hemos aprendido…

  • Proceso INPUT – OUTPUT.
  • Cómo contar algún carácter dentro de un texto en Python.
  • Cómo almacenar datos con un nombre concreto (iniciación a las variables en Python).