Lección 3: Primer script en el lenguaje Python

Hola de nuevo... en los dos primeros posts vimos una introducción "teórica" sobre algunos conceptos propios de Python, como las versiones que estan disponibles a la fecha e instalación. También hemos visto a fondo lo que notaremos en su IDLE de manera que ahora estamos mas familiarizados con la forma en que se muestra el código fuente de un programa en Python.  Por último, vimos como guardar y ejecutar nuestros scripts (es decir nuestros programas hechos en Python).

La pregunta es... ¿qué scripts guardaremos si aún no hemos creado programa alguno? Bueno... ese es el motivo de este post: "Crear nuestro primer Script".

La mayoria de tutoriales, libros y demás artículos para iniciantes en cualquier lenguaje de programación ya sea Python, Java, Delphi, C, C++, Pascal, etc... normalmente tienen como primer programa de creación al tan famoso "Hola Mundo". Bueno... les digo que este post será la excepción.

Nuestro primer script en Python será un programa que pedirá como entrada algún dato numérico, confirmará si el dato ingresado cumple con el requerimiento solicitado y finalmente mostrará un texto (string) con esa confirmación en pantalla.  Manos a la obra... Abre el IDLE, luego abre una ventana nueva en el menú File / New Window, pega este código en esa ventana y guardalo:
# -*- coding:utf-8 -*-

# Primer programa en Python - prueba.py



dato=input("Saludos amigo!! ingresa un número mayor que cero: ")



while dato<=0:

print "El número no es el indicado, debe der mayor que cero"

dato=input("Ingrese el número nuevamente: ")



print "Correcto!! El número ingresado es ",dato," ,gracias !!"



from time import sleep

sleep(5)


Dato importante 1: Primero me gustaría empezar recalcando que Python es Case sensitive ¿qué es esto? pues... es decir que Python hace diferencia entre mayúsculas y minúsculas (en realidad Case sensitive significa sensible a las mayúsculas/minúsculas) por lo tanto las palabras Hola y hola son variables diferentes para Python.

Explicación del código:

La línea 1 es la codificación de caracteres, utf-8, para poder poner tildes, eñes y demás. Sin esta línea y si tu código tiene carácteres especiales, el programa no funcionaría desde el modo consola (no te preocupes veremos esto luego). Sin embargo al ejecutarlo desde el IDLE (presionando F5), python se da cuenta del uso de estos carácteres y te sugiere poner la línea 1 mostrándote una pequeña ventana de alerta donde debes presionar la opción "Edit my file", de esta manera python añadirá en la primera línea de tu código lo siguiente # -*- coding: cp1252 -*- la cual tiene el mismo efecto que lo escrito con utf-8. Esta línea 1 siempre debemos ponerla en la primera línea de código de todos los programas que crearemos.

La línea 2 es sólo un comentario. Ten en cuenta que en python para hacer un comentario este debe ser encabezado por el símbolo # , el comentario será lo que se escriba en esa línea sin dar un salto a la siguiente. Al dar un salto de línea se sale del comentario. Si una línea no fue suficiente y queremos seguir comentando sobre lo mismo, en ese caso continuamos en la siguiente línea pero previamente escribimos como primer caracter el símbolo #.

La linea 4 permite la entrada de datos, en este caso se pide un número. La sentencia input (entrada) nos permite ingresar un dato de tipo numérico desde el teclado al programa. El efecto en pantalla es que cuando esta sentencia se ejecuta hace una pausa esperando por el valor requerido que es ingresado por el usuario. Ten en cuenta que nosotros estamos  almacenando en una variable llamada dato el valor que es ingresado por input. 
La estructura de input es la siguiente:


input(cadena)

donde cadena es un texto entre comillas ( " " ) o apóstrofes ( ' ' ).


Dato importante 2: Fijate que en Python no es necesario declarar el tipo de variable de dato, es decir no es necesario poner si es de tipo integer (entero) ó float (real). Con sólo darle un valor a la variable, Python se encarga de establecer su tipo. Por ejemplo, si ingresamos dato = 2 python lo declara de tipo integer ( es decir entero), pero si ingresamos dato = 2.1 o incluso dato = 2.0 python lo declara de tipo float (osea real).

La línea 6 es un bucle o ciclo, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Las líneas 7 y 8 son las tareas o sentencias para el bucle. Analicemos este grupo: 
while dato<=0:

print "El número no es el indicado, debe der mayor que cero"

dato=input("Ingrese el número nuevamente: ")


while < condición >:
       tarea 1
       tarea 2
       tarea 3
       . . .

¿cómo funciona el bucle? pues... al iniciar el bucle primero se analiza la condición, si esta fuera verdadera entonces las sentencias del while se ejecutan y luego se regresa la dirección del programa otra vez a analizar la condición, si esta nuevamente es verdadera entonces otra vez de ejecutan las sentencias del bucle y otra vez se vuelve a analizar la condición, y asi sucesivamente ¿cuándo se detiene el bucle?, cuando al analizar la condición esta  resulte falsa entonces no se ejecutan las sentencias y se sale del bucle (o se termina el bucle).

en el caso de la línea 6, en español estas líneas serían como decir lo siguiente:
mientras que dato sea menor o igual a cero:

imprime "El número no es el indicado, debe der mayor que cero"

dato=ingrese("Ingrese el número nuevamente: ")

podemos ver que mientras que el valor asignado a dato sea menor o igual a cero (que la condición sea verdadera), el bucle se repetirá una y otra vez. Por ejemplo si ingresamos dato = -2 que es menor que cero, la condición del bucle es verdadera por lo tanto las sentencias del bucle se ejecutarán  mostrando: (1) que el número que ingresamos no es el que fue requerido (un número mayor a 0), (2) pidiendo el ingreso de un nuevo valor para dato, y (3) con el nuevo valor asignado a dato, devolviendo la dirección del programa para analizar la condición otra vez. Pero que pasaría si ingresamos dato = 5, en ese caso al analizar la condición tendríamos que 5 es menor o igual a cero lo cual es falso, entonces no se ejecutan las sentencias del bucle y saltamos fuera de él. .... Ufff al fin fuera del bucle !!

¿si el bucle nos molesta tanto porque lo escribimos en nuestro script? pues... el bucle while es como alguien que verifica que el usuario final (el que usará nuestro programa) ingrese los datos que nosotros requerimos y no los que ellos deseen. Es una herramienta muy útil, si queremos limitar la entrada de datos a ciertos patrones.

La línea 10 es print, que es como decir mostrar en pantalla donde lo que se mostrará en pantalla será las variables o cadenas de texto mencionadas despues de él. print es capáz de imprimir en pantalla : variables, strings o combinaciones de ellas separadas por comas.

La línea 12 es algo que nos permitirá ver los resultados si ejecutamos nuestro escript en modo consola. Expliquemos primero esto. Anteriormente habíamos visto que para ejecutar un script de Python teníamos que hacerlo desde el IDLE mediante el menu Run / Run Module o presionando F5. sin embargo hay otra manera talvéz más familiar de ejecutar nuestros scripts. Simplemente nos vamos a la carpeta donde se encuentra el script que hemos creado y luego hacemos doble click sobre él ... y listo... veremos nuestro programa ejecutándose en modo consola (en windows es CMD la ventana de fondo negro).

Pero surgiría un pequeño problema, y es aquí donde explico el uso de la línea 12. En la ejecución desde el IDLE con F5 no necesitaríamos esta línea porque veríamos toda la ejecución del programa sin problemas desde la primera hasta la última línea de código. Pero en modo consola, las líneas de código del programa se ejecutan tan rápido que el programa se cierra al instante y talvéz no podamos visualizar las últimas líneas de código ejecutarse. ¿entonces nuestro programa esta mal hecho? NO... el programa tiene un código fuente correcto solamente que se ejecuta muy rápido y al no haber mas líneas de código que ejecutar se cierra la ventana inmediatamente. ¿Cómo lo arreglamos? con la línea 12. Esta línea importa desde una biblioteca (library en inglés) un módulo. Especificamente importamos el módulo sleep (dormir) desde la biblioteca time (tiempo) ¿que hace exactamente este módulo sleep? pues dormir o pausar el programa en ese instante por un tiempo en segundos. En nuestro problema le pusimos sólo 5 segundos. Con esta sentencia ubicada al final de todas las demás líneas, estamos diciéndole al programa que al terminar de ejecutar las líneas se espere 5 segundos hasta cerrar la ventana del programa, permitiéndonos ver la ejecución completa del script.   Listo !!! ... se acabó

pero podrías estar preguntándote ¿Qué pasó con las líneas 3, 5 y 11? bueno... lee lo siguiente:

Dato importante 3: Como habrás notado las líneas 3, 5 y 11 son líneas en blanco. ¿tendrán algún efecto estas líneas en momento de ejecución del script? pues NO. Las líneas en blanco sólo nos ayudan a mantener nuestro código mas ordenado pero al momento de ejecutar el script (nuestro programa), Python hace caso omiso de ellas y las ignora. Esa es la razón por la cual al ejecutar el script viste que todas las líneas de texto (strings) estaban una después de la otra sin espacios verticales entre ellas. Por eso no importa cuantas líneas en blanco dejes, en momento de ejecución Python las ignora completamente.

Listo amigos... espero haya quedado claro todo lo mencionado anteriormente. He tratado de ser lo más detallista posible en la explicacion de las líneas de código con respecto a lo que cada una de ellas hacen durante su ejecución, por ahí también les di unos datos importantes a tener en cuenta... talvéz me extendí un poco en los conceptos ... pero por ahi se dice que "es mejor que sobre a que falte".

Esto es todo... nos vemos en el siguiente post...

Related Posts

ADBLOCK DETECTED!

You are running an AdBlock extension in your browser!
If you wish to continue please disable AdBlock for this website.
Subscribe Our Newsletter