Volver al índiceEntrada y salida

En Informática, la "entrada" de un programa son los datos que llegan al programa desde el exterior (normalmente a través del teclado) y la "salida" de un programa son los datos que el programa proporciona al exterior (normalmente en la pantalla del ordenador).

En esta lección se tratan los casos más sencillos de entrada y salida:


Salida por pantalla

Aunque en IDLE se puede mostrar el valor de una variable escribiendo simplemente el nombre de la variable, dentro de un programa hay que utilizar la orden print.

Se puede intercalar texto y variables en una misma orden, separándolas con comas:

a, saludo = 5, 'Hola'

print 'a contiene el valor' , a, 'y saludo contiene el valor', saludo

a contiene el valor 5 y saludo contiene el valor Hola

Si se escribe una coma al final de una orden print, el texto que escriba la siguiente orden print se escribirá en la misma línea:

# -*- coding: cp1252 -*-

corto, medio, largo = 28, 30, 31

print 'Hay siete meses que tienen' , largo , 'días.'

print 'Hay cuatro meses que tienen' , medio , 'días ',

print 'y uno que tiene' , corto , 'o', corto+1, 'días.'

Hay siete meses que tienen 31 días.

Hay cuatro meses que tienen 30 días y uno que tiene 28 o 29 días.


Como las comillas o los apóstrofos indican el principio o final de una cadena, para incluir comillas en una cadena delimitada por comillas o para incluir apóstrofos en una cadena delimitada por apóstrofos hay que escribir una contrabarra (\) antes de la comilla o el apóstrofo:

# -*- coding: cp1252 -*-

print 'Un tipo le dice a otro: \'¿Cómo estás?\''

print "Y el otro le contesta: \"¡Pues anda que tú!\""

Un tipo le dice a otro: '¿Cómo estás?'

Y el otro le contesta: "¡Pues anda que tú!"

Sin embargo, sí que se pueden incluir comillas en cadenas delimitadas por apóstrofos o apóstrofos en cadenas delimitadas por comillas:

# -*- coding: cp1252 -*-

print "Un tipo le dice a otro: '¿Cómo estás?'"

print 'Y el otro le contesta: "¡Pues anda que tú!"'

Un tipo le dice a otro: '¿Cómo estás?'

Y el otro le contesta: "¡Pues anda que tú!"


Se puede forzar que las variables se escriban como enteros o decimales, utilizando las funciones int() o float().

>>> print int(2.9)

2

>>> print float(2)

2.0

>>> print float(2/3)

0.0

El último ejemplo escribe el valor 0.0 porque la división 2/3 da como resultado 0 (el cociente de 2 entre 3 es 0).


Al intercalar texto y variables separados por comas, Python escribe un espacio detrás de las variables. Si se quiere eliminar ese espacio, se pueden concatenar texto y variables con el operador suma (+):

# -*- coding: cp1252 -*-

nombre = "Pepe"

print "¡Hola,", nombre, "!"

print "¡Hola, " + nombre + "!"

¡Hola, Pepe !

¡Hola, Pepe!

Volver al principio de la página


Entrada por teclado

La función raw_input() permite obtener texto escrito por teclado. Al llegar a la función, el programa se detiene esperando que se escriba algo y se pulse la tecla Intro, como muestra el siguiente ejemplo:

# -*- coding: cp1252 -*-

print '¿Cómo se llama?'

nombre = raw_input()

print 'Me alegro de conocerle,' , nombre

Las dos primeras líneas se pueden comprimir en una, escribiendo la cadena como argumento de la función raw_input():

# -*- coding: cp1252 -*-

nombre = raw_input('¿Cómo se llama? ')

print 'Me alegro de conocerle,' , nombre


De forma predeterminada, la función raw_input() convierte la entrada en una cadena. Si se quiere que Python interprete la entrada como un número entero, se debe utilizar la función int() de la siguiente manera:

# -*- coding: cp1252 -*-

print 'Dígame una cantidad en pesetas: ',

cantidad = int(raw_input())

print cantidad, 'pesetas son' , cantidad/166.386, 'euros'

En el ejemplo anterior, al haber una coma al final de la primera línea la entrada se escribe a continuación y no en la línea siguiente.

De la misma manera, para que Python interprete la entrada como un número decimal, se debe utilizar la función float() de la siguiente manera:

# -*- coding: cp1252 -*-

print 'Dígame una cantidad en euros (hasta con dos decimales): ',

cantidad = float(raw_input())

print cantidad, 'euros son' , cantidad*166.386, 'pesetas'

Volver al principio de la página

Esta página forma parte del curso "Introducción a la programación con Python" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 2 de mayo de 2012

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.