Rincón Informático

Un rincon para hablar sobre GNU/Linux, seguridad informatica, y mas!!

Archive for the ‘Programacion’ Category

Curso de Python capitulo XI

Posted by Epsilon On marzo - 5 - 2009

Hemos llegado a la mitad del , y antes de continuar con el capitulo de hoy quería agradecerle a todos aquellos que han seguido esta iniciativa, por que como lo he dicho varias veces es frustrante predicar en el desierto. Espero que todo el publico este aprendiendo un poco sobre un lenguaje interpretado como lo es .

En este capitulo, vamos aprender sobre una estructura  que  a decir verdad, solo la he conocido en este lenguaje, no se si  exista en otros, se trata  de la estructura de datos tipo diccionario. Las estructuras vistas hasta hora ( listas, tuplas) tienen como indice un numero entero, los diccionarios tienen como diferencia que tienen como indice un entero o una cadena para acceder a un valor,  se que es algo confuso de apreciar, pero con un ejemplo se hace mas fácil la compresión:

Supongase que  se necesita almacenar los nombres y las edades de un grupo de personas. Entonces  el nombre de la persona seria el indice:

nombres={‘Alberto’:35,’Rocio’:50,’Isabel’:17}

De esta forma para acceder a la edad de una persona usamos como indice el nombre de la misma así:

print nombres['alberto']

Esto mostrara en pantalla la edad de Alberto en este caso 35

Para mostrar todo el diccionario solo basta hacer esto:

print nombres

Podemos borrar cualquier termino del diccionario empleando la siguiente sintaxis:

del(print nombres['alberto'])

En cualquier momento podemos cambiar el valor de un clave, en este caso la edad de una persona, simplemente haciendo una asignacion de este tipo:

nombres['Alberto']=36

Cabe resaltar que en nuestro ejemplo no es muy util cambiar la edad de una persona,  sin embargo si lo es cuando  estamos manejando un  diccionario de productos  el cual almacene el nombre del producto y su precio. Por otra parte para  saber cuantas parejas tenemos en nuestro diccionario, usamos la  funcion len ya conocida por todos ustedes, esta nos devolvera el numero de parejas que hay en  nuestra estructura para nuestro ejemplo 3 parejas.

Ejemplo

#!/usr/bin/env python
nombres={‘Alberto’:35,’Rocio’:50,’Isabel’:17}
print ‘los nombres almacenados en el diccionario son: ‘
print nombres
print ‘La edad de alberto es:’
print nombres['Alberto']
print ‘alberto ya cumplio anos’
nombres['Alberto']=36
print nombres['Alberto']
print ‘Alberto ya ha muerto’
del(nombres['Alberto'])

python1 Curso de Python capitulo XI

Etiquetas: , , , , , , , , , , , , , , , , , , , , ,

Curso de Python Capitulo X

Posted by Epsilon On marzo - 2 - 2009

Despues de unas largas vacaciones con el curso  de python, volvemos  con una estructura muy similar, a las que hemos venido trabajando pero que tiene una gran diferencia que la explicaremos mas adelante, por lo pronto empezamos con una :

Una lista es una colección de datos no necesariamente del mismo tipo que se los accede por medio de subíndices. La diferencia fundamental de una lista con una tupla es que podemos modificar la estructura luego de haberla creado.

Las listas  tienen practicamente el mismo comportamiento que las , se crean, se  recorren y visualizan de igual forma, sin embargo lo que las diferencia,  es que  con las listas  podemos modificar cualquier valor de ellas despues de haberla creado. veamos esto con un ejemplo muy sencillo:

lista=[1,2,3] # se crea la lista
print lista # imprime la lista
print '<br>'# imprime un enter
lista[0]=4 # modificamos el valor almacenado en la primer componente de la lista.
print lista1 # Imprime la lista
# Como resultado debe imprimir [4-2-3]

Igualmente la funcion len nos devuelve el tamaño de la lista. En python existe una forma de buscar un elemento  en una lista, esta opcion es mu interesante y de mucha utilidad ya que para buscar un elemento no necesitamos recorrer toda la lista, solo basta aplicar la siguiente instruccion:

lista=[1,2,3,4,5,6,7,8,9]
if 5 in lista:
    print 'Esta en la lista '
else:
    print 'No esta en la lista '

Por ultimo, podemos decir que con las listas tambien se puede hacer uso de los operador + y * , el primero genera otra lista con la suma de elementos de la primer y segunda lista. El operador * genera una lista que repite tantas veces los elementos de la lista como indica el valor entero seguido al operador *.

Etiquetas: , , , , , , , , , , , , , , , , , ,

Curso de Python Capitulo IX

Posted by Epsilon On febrero - 24 - 2009

En este capitulo aprenderemos a manejar las cadenas de caracteres en Python, como siempre una definicion  de la wiki antes de entrar en materia:

En matemáticas o en programación, una cadena de caracteres, palabra, ristra de caracteres o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).

Creo que   con esta definicion quedo muy claro el concepto, en Python  las cadenas de caracteres se  manejan de forma similar a  las , para declarar una string   se hace de la siguiente manera:

nombre=”rincon informatico”
nombre=’rincon informatico’

Notese que  es irrelevante las comillas que se usen al momento de declarar la cadena, pueden ser simples o dobles. Igual que en las tuplas podemos saber el tamaño de una cadena, utilizando la funcion len(), la cual ya explicamos anteriormente. Para acceder a una porcion de la cadena lo hacemos de la misma forma que las tuplas: ejemplo:

nombre=’rincon informatico’
print nombre[1:4] ->inc
print nombre[:4]   ->rinc
print nombre[4:]   ->on informatico

Hay que recordar que las strung no se pueden modificar despues de ser inicializadas, pero esto no quiere decir que la variable string no pueda tomar otro valor, es decir se puede cambiar  toda una cadena mas no, una parte.

Operadores con String.

  • Concatenacion: Para concatenar cadenas usamos el operador + ( Para los que no saben, concatenar significa unir varias cadenas).
  • Multiplicacion: En Python podemos multplicar una cadena las veces que deseamos, empleando el operador *, el resultado de multiplicar una cadena por un entero, dara la cadena repetida el numero de veces que se determino en el entero, es decir:

nombre=’rincon informatico’*3 -> rincon informaticorincon informaticorincon informatico

Listo eso  fue  todo sobre las cadenas, se puede hacer mucho con ellas, espero que practiquen y hayan ententido,  y escriban cualquier duda que tengan

Etiquetas: , , , , , , , , , , , , , , , , , ,

Extension capitulo VIII curso de Python

Posted by Epsilon On febrero - 19 - 2009

Debido al cansancio y porque no, a la falta de concentracion,  se me paso por alto 2 operaciones con las tuplas que son de mucha utilidad a la hora de programar en Python.

La primera operacion sobre la cual hablare en esta extension del , se trata de una estructura que nos ayuda a recorrer una tupla, esta estructura repetitiva es llamada for-in, algunos la conoceran de otros lenguajes, sin embargo aunque hacen lo mismo y son similares tienen sus . Su sintaxis es:

for variable in tupla:
print variable
print “\n”

Como se puede observar,  esta estructura necesita declarar una “variable”,  despues  la palabra reservada “in” y por ultimo la tupla la cual deseamos recorrer. esta  estructura hace lo mismo que el WHILE, pero  un poco mas sencilla y corta.

La segunda operacion que se me habia olvidado comentarles ( de verdad lo siento, no se por que se me paso), se trata de que  en Python podemos tomar porciones de una tupla y guardarlas en otra, por ejemplo, tenemos la siguiente tupla:

tupla=(1,2,3,4,5)
tupla2=tupla[0:3]

la tupla2 tomaria los valores de 1, 2, 3, respectivamente, sin embargo no es necesario indicar el rango completo solo una parte, de esta forma, remotando el mismo ejemplo anterior:

tupla=(1,2,3,4,5)
tupla2=tupla[:3]

Esto nos daria como resultado los mismos valores  de la instruccion anterior (1,2,3), la modificacion  que se le hizo fue decir que guardara  en la tupla nueva los valores desde 0  hasta la posicion 3,  y si se quisiera hacer desde la posicion 3 hasta el solo bastaria con esto:

tupla2=tupla[3:]

Y listo con esto aprendimos a recorrer y a tomar porciones de tuplas. Ahora como este tema fue un poco corto y les planteare un ejercicio por si quieren hacerlo lo dejan  en los comentarios.

EJERCICIO

Se tiene una tupla de las edades de  10 individuos que asistiran a una fiesta. se necesita realizar un programa que  determine cuantas personas  son mayores de 18 años,  para poder ir a la fiesta. xD Algo sencillo pero para practicar esta bien.

Etiquetas: , , , , , , , , , , , , , , , , ,

Curso Python capitulo VIII

Posted by Epsilon On febrero - 18 - 2009

En esta etapa del curso, ya hemos cogido un poco de experiencia y practica en este maravilloso lenguaje, ya no somos los mismos inquietos que empezamos hace algunos dias sin saber nada de , ya por lo menos tenemos unas buenas bases y  conocimientos y conceptos necesarios para trabajar este lenguaje.  Hay que aclarar que para ser buenos programadores necesitamos   mucha practica,   por algo existe aquella frase que dice “La practica hace al maestro”.

En el capitulo de hoy vamos aprender un tema y una estructura muy importante  se trata de las TUPLAS, pero que son las tuplas en python??

Una tupla es una colección de datos no necesariamente del mismo tipo que se los accede por medio de subíndices. es decir, es una variable que puede almacenar varios valores.

Algunos diran, a eso es   a lo que se le llama a un vector en otro lenguaje, y ps en parte, pero hay algo que los diferencia mucho uno del otro para ver la diferencia miremos la definicion de un vector dada por la wiki:

En programación, un vector, matriz, array, arreglo o alineación es un conjunto o agrupación de variables del mismo tipo cuyo acceso se realiza por índices.

Ahora si se puede ver claramente cual es la diferencia. esta radica en  que un vector, agrupa datos datos TODOS del mismo tipo, mientras que una tupla, agrupa  datos de cualquier tipo. Ahora bien  la sintaxis de una tupla es la siguiente:

tupla=(“rincon informatico”,20,30.4)

Con esta linea de codigo hemos definido una tupla de 3 elementos, compuesta por una cadena de caracteres, un numero entero, y por ultimo un numero real. veamos graficamente  que es  en realidad una tupla, y la forma de guardar los datos:

prueba Curso Python  capitulo VIII

Como lo pueden ver en la figura anterior, los elementos de la tupla comienzan a enumerarse desde cero para nuestro caso tenemos lo siguiente:

  • tupla[0]=rincon informatico
  • tupla[1]=20
  • tupla[2]=30.4

Hay que resaltar que para  imprimir los datos de una dupla se puede hacer de muchas formas, una de ellas es  como lo hice anteriormente, indice por indice, otra forma es mediante un while,  que vaya desde cero hasta el tamaño de la tupla y la forma mas sencilla es simplemente  print tupla, con esta instruccion mostrara toda la tupla en pantalla. Por otra parte  si desean saber el tamaño de la dupla  existe una funcion llamada len que devuelve el tamaño de la tupla ( es muy util cuando se hacen while), se implementa asi:

tamaño=len(tupla)

Por ultimo, cabe mencionar que la caracteristica mas importante de las tuplas aparte de que guardan diferentes tipos de valores, es que despues de creada la tupla, no se puede modificar, agregar o eliminar datos de la misma, esta es otra diferencia  con respecto a los vectores.

Ahora si vamos con el ejemplo del dia:

Vamos a realizar un programa que almacene los dias de la semana en una tupla y lo vamos a imprimir de las tres formas disponibles,  nuestro codigo quedara asi:

#!/usr/bin/env python
tupla=(“lunes”,”martes”,”miercoles”,”jueves”,”viernes”,”sabado”,”domingo”)

#forma sencilla
print “forma sencilla \n”
print tupla;

#con el while
print “\n”
print “con el while \n”
indice=0
while indice<len(tupla):
print tupla[indice]
indice=indice+1

#forma manual
print “\n”
print “forma manual \n”
print tupla[0]
print tupla[1]
print tupla[2]
print tupla[3]
print tupla[4]
print tupla[5]
print tupla[6]

Y por ultimo una para ver como muestra en pantalla:

python Curso Python  capitulo VIII

Etiquetas: , , , , , , , , , , , , , , , , , , , , , , , , , ,

Curso de Python capitulo VI

Posted by Epsilon On febrero - 14 - 2009

Me da mucha alegria, saber que por lo menos una persona esta siguiendo el curso, y que no estoy predicando en el desierto, espero que las cosas sigan asi, y que cualquier duda o sugerencia sera bienvenidad, y aceptada.

Hoy vamos hablar  sobre algo que  muchos deben conocer ( si han programado en otros lenguajes),  se trata de las funciones, pero que son las funciones?

Las funciones son una estructura fundamental en la , son un conjunto de instrucciones que realizan una accion, que se puede repetir varias veces en un programa. se le asigna un nombre, y despues es llamada dentro del  cuerpo del algoritmo.

Su sintaxis es:

def nombrefuncion( parametros que recibe):
bloque de instrucciones.

Para declarar una funcion se utiliza la palabra restringida def, despues va el nombre de la funcion, y en los parentesis, los parametros que recibe para hacer el proceso, es decir, algunas acciones necesitan recibir datos para procesarlos y despues retornar el resultado de ese proceso. No se puede olvidar el factor de la identacion, puesto que determina que instrucciones van dentro de la funcion.

Ahora que ya tenemos declarada la funcion solo basta con llamarla por su nombre:

  • nombrefuncion(): Si no recibe parametros.
  • nombrefuncion(parametro1, parametro 2): Si recibe parametros.

Veamos un ejemplo, para identificar muy bien como funcionan las funciones en :

Vamos hacer el programa, del capitulo pasado,  este era: Mostrar en pantalla los 100 primeros numeros pares, pero esta vez,  lo haremos  en un rango determinado, es decir, mostrar en pantalla los numeros pares entre x1 y x2:

#!/usr/bin/env python
def pares(x1,x2):
while x1<=x2:
if x1%2==0:
print x1
print “-”
x1=x1+1
lim1=10
lim2=20
pares(lim1,lim2)
print “fin”

En este ejemplo vemos claramente, que primero declaramos la funcion,  que recibe   parametros, muchos de ustedes preguntaran, por que en la funcion trabajamos con x1, y x2, y en el programa trabajamos con lim1 y lim2, esto es por que   la funcion  recibe  es el VALOR del parametro y no la variable como tal,  es decir, en el ejemplo cuando llamamos  la funcion quiere decir que a x1 le asignamos el valor de lim1, esto es lo que se conoce como variables locales y globales. Por ultimo se hace el proceso y  nos muestra el resultado:

curso python5 Curso de Python capitulo VI

Si han notado con este programa  podemos imprimir en pantalla  los numeros pares en un  determinado rango,  solo basta con cambiar los valores de las variables lim1 y lim2. Bueno espero que hayan entendido y que practiquen mucho.

Etiquetas: , , , , , , , , , , , , , , , , , , , , ,

Extension de Capitulo IV curso de Python

Posted by Epsilon On febrero - 11 - 2009

No quería seguir con el siguiente capitulo, sin antes comentar y explicar algo que es muy importante en la estructura condicional y en general en todas las estructuras y en la mayoría de lenguajes actuales (Por lo menos java y C++).

Hay que tener en cuenta los operadores relacionales que se deben aplicar cuando disponemos de una condición, estos operadores por lo menos en Python son:

  • == Igualdad
  • != Diferencia
  • < Menor
  • <= Menor igual
  • > mayor
  • >= mayor igual

Igualmente se tienen unos operadores logicos que nos permiten agrupar condiciones simples, esto ayuda  a que el sea mas compacto, corto, entendible y muchas veces evita que usemos estructuras anidadas, en Python tenemos los siguientes  operadores logicos:

  • And: Cuando agrupamos condiciones con este operador, las  condiciones se deben cumplir, para  que  sea verdadero, si por lo menos una de las condiciones no se cumple, es falso.
  • Or: Este operador indica que por lo menos una de las dos condiciones tiene que cumplirse para que sea verdadera, si las dos condiciones no se cumplen entonces  es falso.
  • Not: Simplemente es una negacion.

Creo que esto muchos lectores ya lo tenian claro, sin embargo,  hay personas que estan comenzando desde cero y no se puede obviar cualquier detalle, asi que espero que les haya quedado claro, es algo que no requiere ejemplo, pero si muy importante que no se puede dejar sin explicar. Si alguien tiene alguna duda con gusto la trataremos de responder. No siendo mas esperen ahora si el capitulo V.. Y vamos aumentando de nivel!!!!

Etiquetas: , , , , , , , , , , , , , ,

Curso de Python Capitulo I

Posted by Epsilon On febrero - 5 - 2009

Hoy mientras estaba en clase de programación 4, me surgió una gran idea que quería compartir con todos ustedes. Desde hace ya  bastante tiempo he  deseado aprender a programar en un lenguaje multiparadigma como lo es PYTHON, pero por una u otra razón (Quizas el tiempo), no lo  he podido hacer,  alguna vez lo practique,  pero sin embargo   fueron cosas muy básicas,  y con el  pasar de los días, estos conceptos se han ido olvidando, es por esta razón, que me he puesto este propósito para  este semestre APRENDER PYTHON!!, pero esto no es todo, quería invitar a los lectores que se hicieran ese mismo propósito, y que avanzáramos juntos en este mundo de la programación.

De ahora en adelante, publicare todos mis avances para que los que estén siguiendo el curso vayan aprendiendo y practicando, hasta llegar al punto en el que por lo menos nos defendamos en este magnifico lenguaje, espero que les guste la idea y animo, a estudiar y practicar.

¿Que es Python?

Nada mejor que citar la Wiki para esta respuesta:

Python es un lenguaje de programación interpretado creado por Guido van Rossum en el año 1991.Se compara habitualmente con TCL, Perl, Scheme, Java y Ruby. Python es considerado como la “oposición leal” a Perl, lenguaje c el cual mantiene una rivalidad amistosa. Los de Python consideran a éste mucho más limpio y elegante para programar.Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a GUI (interfaz gráfica con el ) como Tk, GTK, Qt entre otros.

Yo les diré un poco de todo lo que he leído sobre este lenguaje. Python tiene muchas ventajas en las que se encuentra  una que hay que recalcar y es que  este es un lenguaje interpretado (como PHP), lo que significa que  no tenemos necesidad de compilar nuestros programas,  lo cual ahorra mucho tiempo. Por otra parte en este lenguaje podemos hacer tanto para web, como de escritorio. Hoy en día existen muchos interpretes  para las diferentes plataformas (windows, GNU/Linux, Mac, etc), así que no hay excusa para no querer aprender!!!

Instalando  Python

Hay varias formas de instalar Python,  desde las fuentes, o simplemente con el comando magico, lo hare de la manera mas sencilla:

apt-get install python2.5

Para los usuarios de windows les queda de tarea investigar e instalar el software en su SO.

Con esto tendremos el interprete instalado y listo para usarse, sin embargo tambien existen IDE’S, para facilitar  y hacer mas agradable la programacion, lo digo por que hay personas que le tienen temor a la pantalla negra Asi que para este tipo de personas existe esto.

Despues de tenerlo instalado solo bastara con teclear en la consola:

python2.5

Y tendremos algo como esto:

cur python Curso de Python Capitulo I

Este es el interprete alli podremos programar lo que queramos, sin embargo, tiene un , este  interprete  ejecuta solo una instruccion, asi que nos sera un  poco ineficiente cuando ya queramos hacer una aplicacion mas o menos robusta, pero no se preocupen para eso esta el IDE  o simplemente escribir tu programa en cualquier editor de textos,  empezar  el programa con esto “#!/usr/bin/env python ” guardarlo con extension  *.py  y despues ejecutarlo asi:

python nombredelarchivo.py

Ahora un ejemplo

  1. Por el interprete solo basta con escribir print “hola mundo”, despues del entere les aparecera esto:

cur python2 Curso de Python Capitulo I

2. Si lo hacemos de la otra forma (que es la mejor y mas eficiente) en consola crearemos un archivo  asi:

nano hola.py

Ya en el programa escribiremos:

#!/usr/bin/env pytho
print “hola mundo”

Para ejecutarlo sencillamente escribiremos “python2.5 hola.py ” y el resultado sera algo como esto:

cur python3 Curso de Python Capitulo I

Como pudieron ver la funcion print permite  imprimir en pantalla algun mensaje o el valor de alguna variable. Bueno creo que eso fue todo por hoy, espero que le shaya gustado y recibo dudas y sugerencias pero recuerden que estamos aprendiendo juntos

Etiquetas: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,