Recursión, otro tipo de “ciclo”

--Originally published at Mike's Blog

La recursión es un metodo utilizado cuando se tienen funciones, y no se quiere usar un ciclo. Aqui no es solo que no se quiera usar, sino que muchas veces es mejor usar este metodo, ya que es mas rápido, facil, y no requiere casi una nada de comandos.

Esta acción es simplemente volver a llamar la función desde adentro de la función. Esto hace que la función se repita y vuelva a comenzar. De aquí se saca que es como un equivalente a un ciclo.

captura6

Como vemos este código es una función para advinar un número. Y como podemos observar, cada que se termina una condicional, que no es la primera (a lo que se quiere llegar) se vuelve a llamar la función y por ende vuelve a comenzar.

A mi en lo personal me gusta mucho la recursión ya que es una manera muy limpia de programar, y es fácil de entender. A parte de esto no necesita parametros ni variables.

//giphy.com/embed/3oz8xECbR7nQlvxFPW

via GIPHY


Listas y Tuples, Los Libreros de Python.

--Originally published at Mike's Blog

Como ya conocemos en Python tenemos la posibilidad de guardar cadenas de caracteres llamados strings en variables escogidas por nosotros. Pero si nosotros queremos guardar mas de un string o texto en una variable, ¿Cómo se hace? La respuesta es simple, por medio de las listas y los tuples.

//giphy.com/embed/8Ue8ekoT67ylq

via GIPHY

Como su nombre lo dice, estos dos son listas de strings, asignadas a una variable. La diferencia principal entre la lista y el tuple, es que la lista se puede modificar y el tuple no.

TUPLE

En el tuple los valores no se pueden modificar, y su sintaxis es con parentesis, o escribiendo solamente los valores entre comillas.

captura

Como podemos observar los tuples (y también las listas pueden almacenar integers y floats), y su sintaxis es muy facil. Al imprimir estos tuples, la computadora nos lanza esto.

captura2

Como podemos ver nos imprime el contenido en estos tuples, pero que si queremos imprimir un solo valor del tuple. Para esto utilizamos un parametro dentro del print. Este será el numero de objeto que queremos que se imprima. OJO los valores empiezan desde el cero.

captura3

Al escribir estos parametros el resultado que nos lanza la computadora, son los valores “a”, y “1”. Ya que son los que seleccionamos en el parametro. Este mismo metodo se puede aplicar a las listas.

Este comando no solo se utiliza para imprimir, sino que también es utilizado para obtener el valor dentro del programa.

Listas.

Las listas son exactamente igual a los tuples, lo unico que cambia es que se escriben con corchetes y no con parentesis. Tambien estas se pueden modificar, osea que se les puede agregar o quitar valores.

captura4

Y el resultado que nos da esto es:

captura5

Como podemos observar la sintaxis para obtener el valor mediante el indice es el

Continue reading "Listas y Tuples, Los Libreros de Python."

Módulos python

--Originally published at Mike's Blog

Empecemos por lo que es un módulo… A grandes rasgos un módulo es un grupo de funciones importadas a nuestro código. Esto es para evitar la repetición de código, y que en general el código sea mas simple.

Se podría decir que hay dos tipos de módulos. Los que python3 tiene instalados (como es math) o un módulo propio. El primero es muy facil de entender, en este caso utilizaremos el modulo math. Si nosotros queremos hacer alguna operación compleja con python (puede ser sacar una raiz, o el seno, etc.) necesitamos importar el modulo que tiene la función necesaria para hacerlo. Para esto utilizamos el comando “import math”. Una vez importado el módulo, podemos ejecutar cuantas funciones queramos sin tener que importarlo otra vez. Un ejemplo de esto la función de PI. Escribimos “math.pi”, y listo, tenemos el valor de PI.

captura

Esto nos imprime el valor de pi: 3.141592653589793

El otro tipo de módulos son los que tu haces, y puedes importar. El importar un módulo personalizado completo es lo mismo que copiar el código del archivo, y pegarlo en el tuyo solo que sin la necesidad de usar tantas lineas.

Para importar un módulos personalizado completo se utiliza la misma sintaxis. (import modulo). Cabe mencionar que el otro módulo debe de estar en la misma ubicación que el archivo para que esto funcione.

captura1 captura3 captura4

Como observamos en el primer código hasta el final importamos “factorial”, esto equivale a copiar y pegar el código abajo. Al ejecutar el código nos damos cuenta lo que pasa.

Es posible importar solo una función de algún módulo, para esto solo cambia la sintaxis.

captu2ra

 

 

SDKLSDKVSDKN


Gira gira con el ciclo.

--Originally published at Mike's Blog

Hemos llegado a un concepto que es utilizado muy ampliamente en el mundo de la programación, y que es básico. Parece que es complicado, pero en realidad no lo es, los ciclos…  Estos son literalmente un ciclo que hace el programa.

Podrán preguntar, ¿como que un ciclo?  Tu pones una condición para que un código se repita un cierto número de veces, el número de veces que se repite puede conocerse o no. De esto depende que tipo de ciclo se va a utilizar. Hay dos tipos de ciclos el “for” y el “while”, y muy basicamente el “for” es para cuando conocemos cuantas veces se va a repetir el ciclo, y “while” es para cuando no se conoce.

python_while_loop

CICLO WHILE

Este ciclo se utiliza cuando no se conoce el número de veces que se va a repetir. Depende de una condicional, ya que el ciclo se cumple mientras la condicional se cumpla. Cabe mencionar que los comandos “and” y “or” pueden mezclarse ciclos “while”. También este ciclo se puede utilizar con los comandos “try” y “except”.

screenshot-from-2016-09-13-16-00-13

Como podemos observar el ciclo de arriba es para obtener el factorial de un número, y se logra de esta manera:

Primero el programa pide la entrada del usuario, osea el número que del cual se quiere obtener el factorial, y se guarda en una variable. Despues se crea “f” que sirve para ir descendiendo para multiplicar por num*num-1, para cumplir el factorial. Este ciclo se repite hasta que “num” se vuelve cero, entonces el programa sale del ciclo.

 

Ciclo FOR

Este ciclo es para cuando se sabe cuantas veces se va a repetir, es decir es definido. Lleva un contador integrado, que tu decides la manera en la que cuenta. Es ciclo se repite hasta que el contador se repite

11
22
SDKLSDKVSDKN
Continue reading "Gira gira con el ciclo."

Condicionales… Si lees esto es porque eres humano, si no lo lees….

--Originally published at Mike's Blog

Las condicionales son una parte muy básica, pero extremadamente útil de la programación. Con estas puedes comparar valores para definir una acción, dependiendo de los parámetros que tu pusiste.

Para empezar con esto, primero hay que conocer los operadores matemáticos, y su jerarquía.

 

cu00133a_1

Una vez que conocemos los operadores y su jerarquía queda entender los comandos. Estos son tres.

IF

Este es el primer comando, y es con el que “llamas” la condicional.  Y despues de esto, poner la condición. Tu puedes escoger cual, ya sea que un número sea mayor o igual a otro, o cosas por el sentido.

screenshot-from-2016-09-12-10-58-58

Como podemos ver en la siguiente condicional, si a es mayor que b, imprime un texto que nos lo dice. Pero, ¿que si queremos que imprima algo si es menor que b? Para esto utilizamos el comando “else”.  Este comando es para que si la condición no se cumple, pase otro resultado. Este comando no lleva condición ya que es para cuando no se cumple la condición inicial.

screenshot-from-2016-09-12-11-43-51

Como vemos en la imagen ya tenemos dos posibles resultados, si “a” es mayor que “b”, y si “a” es igual o menor que “b”. Pero si queremos separar el resultado de igual y de menor podemos utilizar un tercer comando llamado elif. Con este comando puedes poner otra condición a parte de la primera. Con este comando podemos poner tantas condiciones como queramos.

screenshot-from-2016-09-12-11-59-40

El comando else, es enteramente opcional, pero es de mucha ayuda para saber si no se cumplió ninguna.

En las condicionales podemos usar los comandos “and” y “or”.  Estos son para poner mas de una condición, pero juntas. Con “and” el valor se cumple si las dos condiciones son verdaderas, y con “or” solo si una es verdadera.

 

SDKLSDKVSDKN

http://www.tutorialspoint.com/python/python_basic_operators.htm

http://www.

Continue reading "Condicionales… Si lees esto es porque eres humano, si no lo lees…."

Entradas y Salidas de Python

--Originally published at Mike's Blog

Las entradas y salidas en la programación son el medio de comunicación entre la computadora y el usuario, y es extremadamente importante el que los programas tengas sus entradas y salidas bien estructuradas.

SALIDAS.

Las salidas de un programa es lo que el usuario ve en pantalla. Normalmente son mediante el comando “print”, pero también se puede lograr con otros comandos. Hay que tener cuidado con las salidas, ya que puede ser que el programa haga lo que le pides, pero que no lo está mostrando al usuario.

Las salidas la mayor parte de las veces son strings.

Captura

ENTRADAS

Las entradas son un poco más complicadas, ya que hay muchas formas de pedir entradas… La más común es mediante el comando “input”. Este es una mezcla de entrada y salida, ya que se le puede poner texto de salida para que el usuario sepa que ingresar.

Las entradas tienen diferentes tipos de objeto, como ya los expliqué en un blog anterior. Estos son:

  • String
  • Float
  • Integer
  • Listas
  • Diccionarios
  • Tuples
  • Etc

Básicamente una entrada es todo lo que el usuario le proporciona al programa.

Captura2

MEZCLA DE ENTRADAS SALIDAS

Normalmente los programas tienen muchas entradas y salidas, que son la forma de comunicación entre el usuario y el programa. En este tema de las entradas y salidas hay que ser muy claro para que el usuario entienda lo que queremos obtener de el y no escriba datos erroneos.

Captura3

https://en.wikibooks.org/wiki/Python_Programming/Input_and_Output

 


Python Comments

--Originally published at Mike's Blog

Los comentarios de python son una herramienta extramadamente util para los programadores, ya que te permiten poner texto en el código que solo es visible para el programador, y no afecta al programa de ninguna manera…

Captura33

Como podemos ver los comentarios nos sirven ya sea para recordarnos cosas, para explicar cosas del programa y cosas por el estilo.

Los comentarios se ponen con un hashtag #y aqui se escribe el comentario.

También hay otro tipo de comentarios que se llaman multilinea, estos se utilizan con tres comillas (“””) al inicio y al final del comentario. Estos comentarios son grandes, y generalmente se utilizan para debuguear al inhabiliar lineas de comando enteras.

Z

Hay que tener cuidado de no comentar una linea del programa por accidente ya que si lo hacemos el programa no leera esa linea y nos puede lanzar un error.

//giphy.com/embed/ytnWk8xrXAXrq

 

 


Un programa “foolproof”

--Originally published at Mike's Blog

La clase pasada de Ken una compañera y yo decidimos hacer la tarea 10 de la máquina del tiempo de Ken. Un poco retadora la situación pero pudimos hacerlo bien al final despues de muchos errores.

En este programa mi compañera y yo pudimos demostrar el conocimiento de muchos “Mastering Topics”. Y me gustó mucho la experiencia del “Pair programming”, ya que nunca lo había experimentado como tal.

El programa que hicimos consiste en pedirle al usuario 10 números, para después con estos hacer una serie de operaciones y obtener su suma, promedio y desviación estandar. Pero nosotros no quisimos quedarnos solo con eso, así que decidimos hacer el programa “foolprof”. Esto consiste en que si el usuario del programa comete un error, el programa no haga un “crash” que haga que el usuario tenga que reinciar el programa, y que los datos que el usuario dió de alta no se pierdan.

Nuestro código fue el siguiente:

#create a list of floats

import math

print ("Welcome, please enter numbers: ")

this=[]
number=1

def ciclo():
    global number
    while(True):
        try:
            a=float(input("Number "+str(number)+": "))
            this.append(a)
            number=number+1
            break
        except:
            print ("That's not a valid input")

ciclo()
ciclo()
ciclo()
ciclo()
ciclo()
ciclo()
ciclo()
ciclo()
ciclo()
ciclo()

print(this)
suma=0

for x in this:
    suma=suma+x

print ("The total sum of the numbers is: "+str(suma))

prom=suma/10

print ("The average is: "+str(prom))

indice=0
that=[]

def est():
    global indice
    global prom
    element=(this[indice]-prom)**2
    that.append(element)
    indice=indice+1

est()
est()
est()
est()
est()
est()
est()
est()
est()
est()
sumaa=0
for y in that:
    sumaa=sumaa+y

desviacion= math.sqrt(sumaa/10)

print ("The standart deviation is: "+str(desviacion))

Lo primero que decidimos hacer fue empezar a pensar una manera en la cual si el usuario escribe un valor erroneo, no se

de relación típica
funny-picture-programmers-problems1
h0cudhV
SDKLSDKVSDKN
Continue reading "Un programa “foolproof”"

Tipos de Variables en Python.

--Originally published at Mike's Blog

En el lenguaje de programación de Python, hay ciertos tipos de “objetos” que almacenan información. Estos se llaman variables, y se les asigna cierta información para poder accerderla y/o modificarla de manera rápida y efectiva.

58550080

Hay muchos tipos de variables en este lenguaje, empecemos con las tres más importantes.

STRING

Este tipo de variables es la que puede guardar texto y números, por lo que siempre se utiliza al asignarle un texto a una variable. Por ejemplo al pedir al usuario que le asigne su nombre a una variable.

#string
nombre=str(input(“Dame tu nombre: “))
print(nombre)

Al correr esto me pedirá introducir mi nobre, lo asignará a la variable, y después lo va a imprimir.

Las variables tipo string pueden ser “operadas” con operadores matemáticos, por ejemplo si sumamos dos variables string, las va a concatenar, y si las multiplicamos las repetirá. Ojo solo se pueden sumar y restar más no multiplicar ni dividir

#string
nombre=str(input(“Dame tu nombre: “))
apellido=str(input(“Dame tu apellido: “))
print(nombre+” “+apellido)

Este código es lo mismo que el anterior solo que también me pide el apellido, y al final lo concatena.

FLOAT

Esta variable sirve para guardar números decimales, es muy utilizado para sumas, restas y demás operaciones que necesiten exactitud decimal.

INTEGER

Esta variable sirve para guardar números enteros, sin decimales, se utiliza para asignar valores de fechas, o para ciclos.

Los valores integer y float se pueden operar sin problemas, pero no se pueden imprimir siendo un valor de número, por lo que se tiene que convertir a string antes de imprimirlo. Para esto se utiliza el comando:

  • srt(variable)

#string
nombre=str(input(“Dame tu nombre: “))
apellido=str(input(“Dame tu apellido: “))
edad=int(input(“Dame tu edad: “))
print(“Tu nombre es: “+nombre+” “+apellido)
print (“Tu edad es :”+str(edad))

Como se puede ver en el último print convertimos el integer “edad” a

inheritance1
SDKLSDKVSDKN
Continue reading "Tipos de Variables en Python."

Instalación de Turtle y Matplot en Python

--Originally published at Mike's Blog

Si estás utilizando python3 en ubuntu y quieres poder graficar mediante turtle o matplot tienes primero que instalarlo con este sencillo código en el terminal.

Para turtle:

sudo apt-get install python3-tk

Solo abre el terminal y escribe esta linea para instalar turtle.

Screenshot from 2016-08-29 08-05-23

Ahora para instalar matplot se escribe esta linea

sudo apt-get install python-matplotlib

Screenshot from 2016-08-29 08-10-26

Hay que tener en cuenta que en ambos casos puede pedirte la contraseña del usuario administrador.

SDKLSDKVSDKN