Hola queridos Amigos les escribo desde el Perú, recordemos que hace algunos días estaba en Ecuador donde pase algunos días de descanso conociendo algunas tradiciones de esa hermosa tierra.
Hoy les quiero hablar de Python para mi un lenguaje muy accesible y multi-propósito, adecuado para todo aquel que le llame la atención este mundo de las computadoras. Les quiero animar a incursionar en este mundo de la programación con Python y son muchas las ventajas que obtendrán de aprender este sencillo pero poderoso Lenguaje de Programación, entre ellas tenemos:
A mi me gusta mucho el tercer punto, por eso soy freelancer por que me gusta meterme mas que nada en mis proyectos que van desde pequeños scripts en python hasta módulos mas acabados en ODOO, ya algunos de ustedes han visto algunas de mis creaciones como Steemit al desnudo #steemit-desnudo, ADA Crypbot y algunos pequeños proyectos de Machine Learning y Ciencia de Datos, ahora mismo estoy pensando en compartir algunos conocimientos sobre ODOO que es realmente en lo que trabajo para que puedan ver las capacidades de Python en la WEB.
Para tener una idea vamos a ver uno de los programas que me gustan mucho por su sencillez y vamos a comenzar a aprender un poco de python con este ejemplo, recuerden que estoy preparando algunas tareas interesantes para aprender Python con la API de Steemit pero primero debemos comenzar a leer código y a entender los tipos de datos que tenemos en Python para poder hacer cosas mas complicadas de leer, para correr debemos caminar.
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Autor Orfeo mas conocido como Seth-Root
import random
lista25 = range (1 , 26)
for i in range(1 , 11):
lista_de25 = lista25
cuanots_hay = len( lista_de25 )
x = random.randrange(cuanots_hay)
sacar_numero = lista_de25.pop(x)
print "Los numeros Ganadores son", lista_de25
Algunos se preguntaran pero que es el KINO, el KINO es una quiniela Venezolana que trata sobre intentar meter o acertar a 15 números de 25 posibles, en palabras mas claras, existen 25 números en el sorteo y usted compra un ticket con 15 números la idea es meter o acertar la mayor cantidad de números posibles si usted mete los 15 ganara mucho dinero. Pero es mas fácil que te caiga un rayo a que los 15 números que saca el sorteo sean los tuyos.
Podemos observar que el código es muy sencillo, Apenas 8 lineas de código funcional y 1 es una impresión por pantalla. En estas 7 lineas vemos varias cosas interesantes, por ejemplo creamos una lista con datos a partir de una librería llamada range, pero lo mas importante es que podemos aprender un poco sobre 3 puntos vitales en Python, primero a usar Bucles del tipo FOR, segundo a usar y modificar listas y tercero a utilizar librerías de Python.
Los Bucles FOR los usamos siempre que tengamos definida la cantidad de veces que necesitamos recorrer una lista, diccionario, tupla o cadena, ahora mismo vamos a hablar de Listas pero voy a aprovechar para enseñarte como pasar una cadena y recorrerla con el ciclo FOR:
#!/usr/bin/python
# -*- coding: utf-8 -*-
cadena = "Mi Gran Cadena Ejemplo"
for i in cadena:
print i
Una cadena es simplemente un encadenamiento de caracteres, en este caso tenemos cadena = "Mi Gran Cadena Ejemplo". La salida de este programa es:
M
i
G
r
a
n
C
a
d
e
n
a
Podemos ver linea a linea 1 carácter, de la misma manera funcionan las listas, pero dentro de una lista podemos tener, desde caracteres hasta incluso diccionarios u otras listas dentro de listas. por ejemplo:
lista = ["CADENA" , ["ESTO es una Lista"], {"Clave": "Valor"}, 5, 5.54, ("RE", "MI", "FA")]
for i in cadena:
print i, type(i)
La salida de este programa es:
CADENA <type 'str'>
['ESTO es una Lista'] <type 'list'>
{'Clave': 'Valor'} <type 'dict'>
5 <type 'int'>
5.54 <type 'float'>
('RE', 'MI', 'FA') <type 'tuple'>
Podemos observar que la linea print i, type(i) nos ofrece el dato en el que se encuentra el bucle que es una lista y también hacemos uso de TYPE que es una librería de Python que normalmente se usa para revisar el tipo de dato en un SCRIPT, lo usamos para tener certeza de que el tipo de dato es correcto.
Aun no quiero entrar en Diccionarios y Tuplas por lo que esperare a entrar en La API de STEEMIT mañana. Sigamos con nuestro ejemplo:
import random
lista25 = range (1 , 26)
for i in range(1 , 11):
lista_de25 = lista25
cuantos_hay = len( lista_de25 )
x = random.randrange(cuantos_hay)
lista_de25.pop(x)
print "Los numeros Ganadores son", lista_de25
En la primera linea se importa la librería RANDOM, esta librería se usa para crear números aleatorios en nuestro caso le vamos a pasar el máximo de numero y vamos a elegir 1 al azar o Random.
En la linea 2 encontramos lista25 = range(1 , 26) , aquí creamos una lista desde 1 hasta 25, recordemos que range no llega hasta el ultimo numero si no mas bien hasta el numero que se le coloca menos 1 en este caso 25.
En la linea 3 entramos en un bucle de 10 recorridos, en este caso le pasamos un rango, en los caso anteriores corrimos un ciclo con cadenas o con listas, pero range no es mas que una lista de números en este caso for i in range(1 , 11):
En la linea 4 simplemente igualamos una lista a otra: lista_de25 = lista25
En la linea 5 cuantos_hay = len( lista_de25 ), esta linea cuenta la cantidad de números en la lista_de25 con la función len que es parte de python.
En la linea 6 vemos por que contar la lista x = random.randrange(cuantos_hay) en este caso elegimos 1 de los indices de la lista ejemplo tenemos [3, 5, 6, 8, 2], contamos con len serian 5 y si elegimos el 2 obtendríamos el numero 5.
En la linea 7 usamos el dato de la linea 6 es decir a x: lista_de25.pop(x) recuerda que este ciclo es para 10 números es decir vamos a sacar 10 de los 25 números y nos quedan 15, el KINO realmente saca 15 números que son los ganadores pero para fines educativos nos vale con este ejemplo, una versión mas compacta de este código seria:
import random
lista_de25 = range (1 , 26)
for i in range(1 , 11):
lista_de25.pop(random.randrange(len( lista_de25 )))
print "Los numeros Ganadores son", lista_de25
Aun podemos compactar mas este código pero no quiero confundirlos mas jejeje... Vale dejemos esto hasta aquí, espero hayan aprendido algo, por favor dejen sus comentarios :D