7.1. Entrada/Salida en Python¶
Los programas serían de muy poca utilidad si no fueran capaces de interaccionar con el usuario.
7.1.1. Entrada estándar¶
Para pedir información al usuario, debe utilizar las funciones integradas en el interprete del lenguaje, así como los argumentos de línea de comandos.
Definir la función input:
La función input() siempre devuelve un valor numérico:
>>> edad = input("Ana: ¿Que edad tiene usted?: ")
Ana: ¿Que edad tiene usted?: 38
>>> print(edad)
38
7.1.2. Entrada por script¶
En muchas practicas de este entrenamiento usted lo que ha hecho ha sido escribir código en el intérprete, y/o escribir/ejecutar pequeños programas Python, pero los programas informáticos no funcionan así.
Se basan en escribir todas las instrucciones en archivos llamados scripts, que no es más que guiones de instrucciones. Luego se envía este archivo al intérprete como parámetro desde la terminal de comando (si es un lenguaje interpretado como Python) y éste ejecutará todas las instrucciones en bloque.
A parte de ser la base del funcionamiento de los programas, la característica de los scripts es que pueden recibir datos desde la propia terminal de comando en el momento de la ejecución, algo muy útil para agregar dinamismo los scripts a través de parámetros personalizables.
A continuación, un ejemplo el cual simula a sala de chat del servicio LatinChat.com, validando datos de entradas numérico y tipo cadena de caracteres e interactuá con el usuario y en base a condicionales muestra un mensaje.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Truco
LatinChat.com, fue un servicio de Internet que ofrecía diversas salas de chat, muy popular en la década de los 90 en latinoamericana.
7.1.2.1. Scripts con argumentos¶
Para poder enviar información a un script y manejarla, tenemos que utilizar la
librería de sistema sys
. En ella encontraremos la lista argv
que almacena
los argumentos enviados al script.
Usted debe crear un script llamado entrada_argumentos.py
con el siguiente
contenido:
1 2 3 |
|
Ejecuta el script llamado entrada_argumentos.py
, de la siguiente forma:
$ python entrada_argumentos.py
['entrada_argumentos.py']
Al ejecutarlo puede ver que devuelve una lista con una cadena que contiene el nombre
del script. Entonces, el primer argumento de la lista sys.argv
(es decir,
sys.argv[0]
) es el propio nombre del script.
Ahora si intenta ejecutar el script de nuevo pasando algunos valores como números y cadenas de caracteres entre comillas dobles, todo separado por espacios:
$ python entrada_argumentos.py 300 43.234 "Hola Plone"
['entrada_argumentos.py', '300', '43.234', 'Hola Plone']
Cada valor que enviamos al script durante la llamada se llama argumento e implica una forma de entrada de datos alternativa sin usar la función input().
A continuación, un ejemplo el cual usa un script con la librería sys
. El script
recibe dos (02) argumentos: una cadena de caracteres y un número entero. Lo que hace
es imprimir la cadena de caracteres tantas veces como le indique con el argumento de
tipo número:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Si quiere comprobar la validación de cuantos argumentos deben enviarme al script, ejecute el siguiente comando:
$ python entrada_dos_argumentos.py "Hola Plone"
ERROR: Introdujo uno (1) o más de dos (2) argumentos
SOLUCIÓN: Introduce los argumentos correctamente
Ejemplo: entrada_dos_argumentos.py "Texto" 5
Ahora si intenta ejecutar el script entrada_dos_argumentos.py
con solo dos (2)
argumentos, ejecutando el siguiente comando:
$ python entrada_dos_argumentos.py "Hola Plone" 3
Hola Plone
Hola Plone
Hola Plone
7.1.3. Salida estándar¶
La forma general de mostrar información por pantalla es mediante una consola de comando, generalmente podemos mostrar texto y variables separándolos con comas, para este se usa la sentencia print.
7.1.3.1. Sentencia print¶
Sentencia print
evalúa cada expresión, devuelve y escribe el objeto resultado
a la salida estándar de la consola de comando. Si un objeto no es un
tipo cadena de caracteres, ese es primeramente convertido a un
tipo cadena de caracteres usando las reglas para las
conversiones del tipo. La cadena de caracteres (resultado
o original) es entonces escrito.
Entonces para mostrar mensajes en pantalla, se utiliza el uso de la sentencia print
.
Ejemplo del uso de la sentencia print:
>>> print("Ana: Hola", nombre, ", encantada de conocerte :3")
Ana: Hola Leonardo , encantado de conocerte :3
7.1.3.2. Formato de impresión de cadenas¶
En la sentencia print
se pueden usar el formato de impresión alternando las
cadenas de caracteres y variables:
>>> tipo_calculo = "raíz cuadrada de dos"
>>> valor = 2**0.5
>>> print(f"el resultado de {tipo_calculo} es: {valor}")
el resultado de raíz cuadrada de dos es: 1.41421356237
Ver también
Hay disponibles otras formas de aplicar formato de cadena de caracteres:
Nota
Una documentación completa del control de la salida de Python se encuentra en https://docs.python.org/es/3.7/tutorial/inputoutput.html
Importante
Usted puede descargar los códigos usados en esta sección haciendo clic en los
siguientes enlaces: entrada_salida.py
,
entrada_argumentos.py
y
entrada_dos_argumentos.py
.
Truco
Para ejecutar el código entrada_salida.py
, entrada_argumentos.py
y
entrada_dos_argumentos.py
, abra una consola de comando, acceda al directorio
donde se encuentra ambos programas:
leccion8/
├── entrada_argumentos.py
├── entrada_dos_argumentos.py
└── entrada_salida.py
Si tiene la estructura de archivo previa, entonces ejecute el siguiente comando:
$ python entrada_salida.py
$ python entrada_argumentos.py
$ python entrada_dos_argumentos.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.
¿Cómo puedo ayudar?
¡Mi soporte está aquí para ayudar!
Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.
La hora aquí es actualmente 7:35 PM GMT-4.
Mi objetivo es responder a todos los mensajes dentro de un día hábil.
