Python

Páginas: 7 (1716 palabras) Publicado: 23 de octubre de 2012
Nuestros programas serían de muy poca utilidad si no fueran capaces de interaccionar con el usuario. En capítulos anteriores vimos, de pasada, el uso de la palabra clave print para mostrar mensajes en pantalla.

En esta lección, además de describir más detalladamente del uso de print para mostrar mensajes al usuario, aprenderemos a utilizar las funciones input yraw_input para pedir información,así como los argumentos de línea de comandos y, por último, la entrada /salida de ficheros.

ENTRADA ESTÁNDAR
La forma más sencilla de obtener información por parte del usuario es mediante la función raw_input. Esta función toma como parámetro una cadena a usar como prompt (es decir, como texto a mostrar al usuario pidiendo la entrada) y devuelve una cadena con los caracteres introducidos porel usuario hasta que pulsó la tecla Enter. Veamos un pequeño ejemplo:

nombre = raw_input("Como te llamas? ") print "Encantado, " + nombre

Si necesitáramos un entero como entrada en lugar de una cadena, por ejemplo, podríamos utilizar el constructor de int para convertir la cadena a entero, aunque sería conveniente tener en cuenta que puede lanzarse una excepción si lo que introduce elusuario no es un número.

try: edad = raw_input("Cuantos anyos tienes? ") dias = int(edad) * 365 print "Has vivido " + str(dias) + " dias" except ValueError: print "Eso no es un numero"

La

función input es

un

poco

más

complicada.

Lo

que

hace

esta

función

es

utilizarraw_input para leer una cadena de la entrada estándar, y después pasa a evaluarla como si de códigoPython se tratara; por lo tanto input debería tratarse con sumo cuidado.

PARÁMETROS DE LÍNEA DE COMANDO
Además del uso de input y raw_input el programador Python cuenta con otros métodos para obtener datos del usuario. Uno de ellos es el uso de parámetros a la hora de llamar al programa en la línea de comandos. Por ejemplo:

python editor.py hola.txt

En este caso hola.txt sería elparámetro, al que se puede acceder a través de la lista sys.argv, aunque, como es de suponer, antes de poder utilizar dicha variable debemos importar el módulo sys. sys.argv[0] contiene siempre el nombre del programa tal como lo ha ejecutado el usuario, sys.argv[1], si existe, sería el primer parámetro; sys.argv[2] el segundo, y así sucesivamente.

import sys

if(len(sys.argv) > 1): print "Abriendo" + sys.argv[1] else: print "Debes indicar el nombre del archivo "

Existen módulos, como optparse, que facilitan el trabajo con los argumentos de la línea de comandos, pero explicar su uso queda fuera del objetivo de esta lección.

SALIDA ESTÁNDAR
La forma más sencilla de mostrar algo en la salida estándar es mediante el uso de la sentencia print, como hemos visto multitud de veces enejemplos anteriores. En su forma más básica a la palabra clave print le sigue una cadena, que se mostrará en la salida estándar al ejecutarse el estamento.

>>> print “Hola mundo” Hola mundo

Después de imprimir la cadena pasada como parámetro el puntero se sitúa en la siguiente línea de la pantalla, por lo que el print de Python funciona igual que elprintln de Java.

En algunas funcionesequivalentes de otros lenguajes de programación es necesario añadir un carácter de nueva línea para indicar explícitamente que queremos pasar a la siguiente línea. Este es el caso de la función printf de C o la propia función printde Java.

Ya explicamos el uso de estos caracteres especiales en su día durante la explicación del tipo cadena de la lección Python: Tipos básicos. La siguiente sentencia,por ejemplo, imprimiría la palabra “Hola”, seguida de un renglón vacío (dos caracteres de nueva línea, ‘\n’), y a continuación la palabra “mundo” indentada (un carácter tabulador, ‘\t’).

print "Hola\n\n\tmundo"

Para que la siguiente impresión se realizara en la misma línea tendríamos que colocar una coma al final de la sentencia. Comparemos el resultado de este código:

>>> for i in...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Python
  • Por Qué Python?
  • PYTHON
  • python sonido
  • python
  • python
  • Python
  • Python

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS