Guia Python: operadores y estructuras (2a parte).

Publicado el 29 junio 2013 por Hugo Rep @HugoRep

Python es un lenguaje de script desarrollado por Guido van Rossum.

Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)

Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)

Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.

El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet)

Operadores lógicos.

En Python contamos con los siguientes operadores lógicos:

and   (y)

or   (o)

not   (no)

Los operadores lógicos nos permiten agrupar condiciones simples en una estructura condicional, esto nos facilita la implementación de algoritmos más compactos y comprensibles.

Cuando unimos dos condiciones simples con el operador lógico 'and' ambas condiciones deben verificarse como verdaderas para que la condición compuesta se verifique verdadera. Por ejempo si tenemos que mostrar un mensaje si la edad de una persona está comprendida entre 12 y 18 años podemos plantearla con una única estructura condicional:

if edad>=12 and edad<=18:

print 'Edad comprendida entre 12 y 18'

Estamos diciendo si la variable 'edad' tiene un valor mayor o igual a 12 y además la variable edad tiene un valor menor o igual a 18 luego ejecutar la rama del verdadero.

La condición anterior nos evita tener que implementar dos estructuras condicionales:

if edad>=12:
   if edad<=18:
   print 'Edad comprendida entre 12 y 18'

El operador lógico 'or' hace que con que alguna de las condiciones sea verdadera luego ejecute el bloque del verdadero.

if x1<5 or x2<5:

Se ejecuta la rama del verdadero si al menos una de las dos variables es menor a 5.

El operador not invierte el valor de una condición:

if not x1>x2:

Si x1 no es mayor a x2 luego ejecuta la rama del verdadero de la estructura condicional.

Podemos plantear condiciones con más de dos condiciones simples:

if x1<0 or x2<0 or x3<0:

Si x1 o x2 o x3 tienen un valor inferior a cero luego se ejecuta la rama del verdadero del if.

Estructura condicional if-elif.

Esta estructura condicional es una forma más elegante de disponer estructuras condicionales anidadas.

Veamos como lo hacemos con estructuras condicionales anidadas y luego utilizando la sintaxis if/elif:
(problema: generar un número aleatorio entre 1 y 1000, luego imprimir la cantidad de dígitos del número generado)

import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
   print 'Tiene 1 dígito'
else:
   if x<100:
   print 'Tiene 2 dígitos'
   else:
   if x<1000:
   print 'Tiene 3 dígitos'
   else:
   print 'Tiene 4 dígitos'

Luego con la estructura condicional if/elif:

import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
   print 'Tiene 1 dígito'
elif x<100:
   print 'Tiene 2 dígitos'
elif x<1000:
   print 'Tiene 3 dígitos'
else:
   print 'Tiene 4 dígitos'

Estructura repetitiva while.

Las estructuras repetitivas nos permiten ejecutar un bloque de instrucciones varias veces, dependiendo de una condición.

La estructura while repite el bloque de instrucciones mientras la condición se verifique verdadera.

Si queremos mostrar los números del 1 al 100 con estructuras secuenciales el proceso es largo y engorroso, utilizando una estructura repetitiva el algoritmo es muy compacto:

print 'Números del 1 al 100:'
x=1
while x<=100:
   print x
   print '-'
   x=x+1
print 'Fin'

Es importante recordar y remarcar que las instrucciones que se ejecutan en la estructura repetitiva while son todas las que se encuentran indentadas a derecha (cuatro espacios más a la derecha de la instrucción while)

La variable x se inicializa previo a la estructura while con el valor 1. La primera vez que se ejecuta la condición del while se verifica verdadera, ya que 1 es menor o igual a 100.

Dentro de la estructura repetitiva mostramos el contenido de la variable x, luego imprimimos un guión y finalmente incrementamos la variable x con el valor actual más uno.

La impresión de la cadena 'Fin' se ejecuta una vez finalizada la estructura repetitiva while.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog: