lunes, 12 de marzo de 2018

Zona Python # 12 .- Funciones en Python

Funciones en Python

Vamos a redactar código de una forma más profesional y elegante y para ello utilizaremos las funciones en Python. Cuando hablamos de una función en Python, estamos hablando de un bloque de código que se puede reutilizar.

Hay muchas funciones que ya están dentro del código de Python, pero será de mucha utilidad y te ahorra tiempo dentro de tus proyecto si creas y usas las tuyas. Hay algunas reglas que tienes que recordar cuando se trata de definir una función.

Para crear una función usaremos la orden def seguida del nombre de la función, que debe respetar las mismas normas para la definición del nombre de una variable (comenzar con una letra minúscula, y si está formada por mas de una palabra las podemos unir con guión bajo ya que no acepta espacios en blanco), recuerda usar el sangrado para todas aquellas líneas de código que forman parte de la función . Veamos un ejemplo:

# definimos una función que muestra los números del 1 al 10
def contar_10():
    for i in range (1,11):
        print(i)

# llamamos a la función una vez
contar_10()

# llamamos a la función una segunda vez
contar_10()

En el ejemplo anterior la función contar_10 es un código que muestra por pantalla los números del 1 al 10, observa que las líneas que forman parte de la función están sangradas. Luego llamamos a la función dos veces, de forma que veremos por pantalla los números del 1 al 10 dos veces.

El ejercicio anterior (ejercicio5.py) quedaría en nuestro editor de la siguiente forma:


Y al ejecutarlo en la consola, nos mostraría la siguiente salida:






miércoles, 21 de febrero de 2018

Zona Python Solución Practica #4 .- Calcula el IVA de cualquier cantidad

Practica # 4 Calcular el IVA

Como todo problema, esta practica puede tener varias formas de resolverla. Puede ser que tu solución tenga varias lineas de código o muy pocas. No hay una solución correcta, mientras se cumpla el propósito principal, aunque si puede haber alguna o algunas que sean más eficientes.

Mientras estamos aprendiendo, quizá nuestros primeros programas resulten muy laboriosos, pero la práctica constante nos irá puliendo hasta realizar proyectos optimizados y eficientes.

Para resolver esta practica, en mi caso, declare 4 variables cant, iva, cal y total. Estas variables las inicie en 0 excepto "iva" que le asigne el valor correspondiente a mi país (México) que es del 16 %. En pantalla, una vez que ejecute el código en mi terminal CMD, se observará un mensaje que indique que realiza mi programa "Vamos a calcular el IVA de una cantidad", inmediatamente después solicito que se ingrese la cantidad de la cual se desea conocer el IVA.

Una vez que se introduce la cantidad deseada, el código asigna este valor a mi variable "cant" (línea 12 del código). Después extrae el IVA de la cantidad introducida y lo almacena en la variable "cal" (línea 13 del código). Por ultimo nos da el total del IVA más la cantidad original y lo almacena en la variable "total" (línea 14 del código).

Mostramos el resultado indicando a que hace referencia cada uno y listo, mi programa funciona. A continuación te muestro el código y como se visualiza en la terminal al momento de ejecutarse:



jueves, 15 de febrero de 2018

Zona Python Práctica # 4 .- Calcula el IVA de cualquier cantidad

Realizar un programa que calcule el IVA de cualquier cantidad

Todos los ejercicios que proponemos para realizar en Python estarán resueltos en este blog, sin embargo, te invito a intentar resolverlos por ti mismo y si te quedas atascado puedes mirar la solución. 

Tu código puede ser muy diferente al que te muestro en la solución de cualquier ejercicio, ese es el objetivo, que tu realices tus propios programas. No copies la solución, usala como guía en caso de que tengas dudas.

Realiza un programa que calcule el IVA ( 16% ) de cualquier cantidad que ingreses. El programa deberá solicitar una cantidad X y devolver en pantalla la cantidad original y en otra línea el IVA y en una tercera línea la suma de ambos.

Zona Python # 11 .- Comentarios en Python

Que son y como se usan los Comentarios en Python.

Es común que en el código de un programa se explique a las personas que puedan leer este en el futuro, qué es lo que hace. Para ello usamos los comentarios dentro de un código, estos son ignorados por las computadoras cuando se ejecuta el programa. 

En Python los comentarios se pueden poner de dos formas:

1.- Escribiendo el símbolo almohadilla (#) delante de la línea de texto donde está el comentario.

2.- Escribiendo triple comilla doble (“””) al principio y al final del comentario (que puede ocupar más de una línea).

Los comentarios son textos informativos que ayudan a entender el código.

miércoles, 14 de febrero de 2018

Zona Python # 10 .- Diccionarios de datos en Python

Que son y como se usan los diccionarios en Python

Un Diccionario en Python es una estructura de datos y un tipo de dato con características especiales que nos permite almacenar cualquier tipo de valor como enteros, cadenas, listas e incluso otras funciones. Estos diccionarios nos permiten además identificar cada elemento por una clave (Key).

diccionario = {'país' : 'México', 'ciudad' : ´Aguascalientes´, 'diccionario' : ['ejemplo', 1] }

Podemos acceder al elemento de un Diccionario mediante la clave de este elemento:

1.- print diccionario['país']
2.- print diccionario['ciudad']
3.- print diccionario['diccionario']

Y su resultado sería:

1.- México
2.- Aguascalientes
3.- [´ejemplo, 1]´

Podemos insertar una lista dentro de un diccionario. Para acceder a cada uno de sus elementos usamos los índices. En el caso de la lista dentro de nuestra tupla de ejemplo sería de la siguiente forma:

1.- print diccionario['diccionario'][0]
2.- print diccionario['diccionario'][1]

Cuyo resultado sería:

1.- ejemplo
2.- 1

Métodos de los Diccionarios

dict ()

Recibe como parámetro una representación de un diccionario y si es factible, devuelve un diccionario de datos.

dic = dict(nombre='David', apellido='Pérez', edad=36)
dic → {‘nombre’ : 'David', ‘apellido’ : 'Pérez', ‘edad’ : 36}

zip()

Recibe como parámetro dos elementos iterables, ya sea una cadena, una lista o una tupla. Ambos parámetros deben tener el mismo número de elementos. Se devolverá un diccionario relacionando el elemento i-esimo de cada uno de los iterables.

dic = dict(zip('abcd',[1,2,3,4]))
dic → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}

items()

Devuelve una lista de tuplas, cada tupla se compone de dos elementos: el primero será la clave y el segundo, su valor.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
items = dic.items()
items → [(‘a’,1),(‘b’,2),(‘c’,3),(‘d’,4)]

keys()

Retorna una lista de elementos, los cuales serán las claves de nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
keys= dic.keys()
keys→ [‘a’,’b’,’c’,’d’] 

values()

Retorna una lista de elementos, que serán los valores de nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
values= dic.values()
values→ [1,2,3,4] 

clear()

Elimina todos los ítems del diccionario dejándolo vacío.

dic 1 = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic1.clean()
dic1 → { }

copy()

Retorna una copia del diccionario original.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic1 = dic.copy()
dic1 → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}

fromkeys()

Recibe como parámetros un iterable y un valor, devolviendo un diccionario que contiene como claves los elementos del iterable con el mismo valor ingresado. Si el valor no es ingresado, devolverá none para todas las claves.

dic = dict.fromkeys(['a','b','c','d'],1)
dic → {‘a’ : 1, ’b’ : 1, ‘c’ : 1 , ‘d’ : 1}

get()

Recibe como parámetro una clave, devuelve el valor de la clave. Si no lo encuentra, devuelve un objeto none.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.get(‘b’) 
valor → 2

pop()

Recibe como parámetro una clave, elimina esta y devuelve su valor. Si no lo encuentra, devuelve error.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.pop(‘b’) 
valor → 2
dic → {‘a’ : 1, ‘c’ : 3 , ‘d’ : 4}

setdefault()

Funciona de dos formas. En la primera como get

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.setdefault(‘a’)
valor → 1

Y en la segunda forma, nos sirve para agregar un nuevo elemento a nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.setdefault(‘e’,5)
dic → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4 , ‘e’ : 5}

update()

Recibe como parámetro otro diccionario. Si se tienen claves iguales, actualiza el valor de la clave repetida; si no hay claves iguales, este par clave-valor es agregado al diccionario.

dic 1 = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic 2 = {‘c’ : 6, ’b’ : 5, ‘e’ : 9 , ‘f’ : 10}
dic1.update(dic 2)
dic 1 → {‘a’ : 1, ’b’ : 5, ‘c’ : 6 , ‘d’ : 4 , ‘e’ : 9 , ‘f’ : 10}

Zona Python # 9 .- Tuplas en Python

Que son y como se usan las tuplas en Python

Las Tuplas en Python son como una caja imaginaria en la que se almacenan una serie de valores separados por comas entre paréntesis. Las tuplas no pueden cambiar su contenido una vez creadas.

tupla_ejemplo1 = (1, 2, 3, 4, 5)
tupla_ejemplo2 = (1, “uno”, 2, “dos”, 3, “tres”)

Se puede acceder a los elementos de una tupla utilizando los índices como en las listas, si tuviésemos la tupla tupla_ejemplo1 y quisiéramos acceder a sus elementos, lo haríamos así::

1.- print tupla[0]
2.- print tupla[2]
3.- print tupla[4]
4.- print tupla[1:2]
5.- print tupla[3:]

Y el resultado sería:

1.- 1
2.- 3
3.- 5
4.- 2, 3
5.- 4, 5

Zona Python # 8 .- Listas en Python

Que son y como se usan las listas en Python.

Hoy hablaremos sobre la estructura de datos más usada en los lenguajes de programación, las listas. Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc). Las listas se delimitan por corchetes ([ ]) y los elementos se separan por comas. 

En Python, una lista también es una estructura de datos y un tipo de dato con algunas características de gran utilidad. En Python las listas nos permiten almacenar cualquier tipo de valor como enteros, cadenas y hasta otras funciones, otras listas; por ejemplo:

lista = [8, “ocho”, False, [13, “uno”]]

Podemos acceder a estos datos o elementos de nuestra lista mediante un índice, el cual se indica a Python entre [] de la siguiente forma y tomando como ejemplo la lista que hemos declaro anteriormente: 

1.- print lista[0] 
2.- print lista[1] 
3.- print lista[3][0] 
4.- print lista[3][1] 
5.- print lista[1:3] 

El resultado por pantalla de las instrucciones pasadas sería:

1.- 8
2.- ocho
3.- 13
4.- uno
5.- 8, ocho, [13, uno]

Métodos de las Listas

Para revisar algunos métodos en Python usaremos la siguiente lista: 

lista = [8, “ocho”, False, [13, “uno”]]

Append()

Nos permite agregar nuevos elementos a una lista. Podemos agregar una lista mediante este método, sin embargo, esta se agregará como uno y solo un elemento.

1.- lista.append(105) 
2.- lista.append([105, 106]) 

Si mandamos a imprimir por pantalla la lista con los nuevos elementos, el resultado sería:

1.- [8, “ocho”, False, [13, “uno”], 105]
2.- [8, “ocho”, False, [13, “uno”], [105, 106]]

Extend()

Nos permite agregar elementos dentro de una lista, pero a diferencia de append al momento de agregar una lista, cada elemento de esta lista se agrega como un elemento más dentro de la otra lista.

1.- lista.extend([105,106]) 

Resultado:

1.- [8, “ocho”, False, [13, “uno”], 105, 106]

Remove()

Remueve el elemento que se le pase como parámetro de la lista.

1.- lista.remove(8) 

El resultado sería:

1.- [“ocho”, False, [13, “uno”], 105]

Index()

Devuelve el número de índice (posición en a lista) del elemento que le pasemos por parámetro.

1.- lista.index('ocho') 

Lo cual nos daría como resultado el indice de la cadena ¨ocho¨:

1.- 2

Count()

Nos permite conocer cuántas veces un elemento de una lista se repite.

1.- lista.count(8) 

El resultado nos mostrara cuantas veces se repite el número 8 en nuestra lista:

1.- 1

Reverse()

Invierte los elementos de una lista.

1.- lista.reverse() 

Ahora nuestra lista quedará de la siguiente forma:

1.- [105, [13, “uno”], False, “ocho”, 8]

viernes, 2 de febrero de 2018

Zona Python Práctica # 3 .- Practiquemos el uso de operadores en Python

Practica # 3 Usando operadores aritméticos en Python

Realiza un programa que solicite dos números (por separado) y devuelva por pantalla la suma, resta, multiplicación y división de estos. Si tienes problemas al recordar cómo usar las funciones print() e input(), da un vistazo a las publicaciones # 3 y # 4 de Zona Python en este blog.

TIP: Para que un número se almacene en una variable, se le debe indicar esta característica de la siguiente forma:

print (‘introduce un numero: ’)
num = int(input( ))

La instrucción int() indica el tipo de dato que se almacenará, en este caso int() indica que es un número.

Nuestro código en el editor de texto debe ver así:


El resultado por pantalla de CMD debe ser el siguiente:


Diviértete probando este código de distintas formas, adquiere practica ejercitándote una y otra vez.


Zona Python # 7 .- Como usar los operadores en Python

Que son y como se usan los operadores en Python

Los operadores son símbolos especiales en Python que llevan a cabo operaciones aritméticas y de cálculo lógico. En Python, los operadores se pueden usar al momento de declarar una variable o durante el desarrollo del código. 

Vamos a ver como se usan, por ejemplo, los operadores matemáticos. Abrimos nuestro editor y escribimos el siguiente código:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

a = 5
b = 3

su = a + b
res = a - b
multi = a * b
div = a / b

print ('La suma 5 + 3 es: ', su)
print ('La resta de 5 - 3 es: ', res)
print ('La multiplicación de 5 * 3 es: ', multi)
print ('La división de 5 / 3 es: ', div)

Lo que hace este código es declarar dos variables al inicio “a” y “b”. Se le asignan los valores 5 y 3 respectivamente. Después, con la finalidad de observar cómo se usan en Python los operadores aritméticos, declaramos 4 variables con el inicio del nombre de cuatro operaciones básicas; suma, resta, multiplicación y división

En estas 4 variables su, res, multi y div se realiza un cálculo según el operador aritmético y el resultado se asigna a cada uno de ellas. Para visualizar el resultado, mandamos a imprimir por pantalla los valores mediante la función print().

Así lo veremos al ejecutarse en nuestra consola CMD de Windows:


Zona Python # 6 .- Operadores en Python

Operadores que usaremos en Python

En Python también tenemos los llamados operadores. Un operador es básicamente un símbolo que utilizamos en expresiones como “1+3″ donde 1 y 3 serían operandos y “+” es el operador.

Existen diferentes tipos de operadores, por el momento veremos los operadores más sencillos e iremos avanzando conforme este blog vaya creciendo. Mientras tantos demos un repaso a los operadores que se usan en Python de forma general. 

Operadores aritméticos

Los operadores aritméticos en Python son:

+
Suma
-
Resta
*
Multiplicación
/
División
**
Potenciación
//
División, se obtiene parte entera del cociente
%
División, se obtiene el resto

Operadores binarios

Los operadores binarios emplean en sus operaciones la representación binaria de los datos. Los operadores binarios son:

&
AND
|
OR
^
XOR
~
NOT
<< 
Desplazamiento a la izquierda
>> 
Desplazamiento a la derecha

Operadores de comparación o relacionales

Los operadores de comparación en Python son:

< 
Menor que
> 
Mayor que
<=
Menor o igual que
>=
Mayor o igual que
==
Igual a
!=
Distinto de

Operadores lógicos

Los operadores lógicos permiten encadenar varias condiciones.

and
Y
or
O
not
NO


Zona Python # 5 .- Breve repaso a los tipos de datos en Python

Tipos de Datos en Python

Existen diferentes tipos de datos en Python. Dedicar un post al análisis profundo de estos sería muy extenso y esto iría en contra de la finalidad de este blog; aprender Python de forma fácil. 

Es por ello que revisaremos brevemente este tema y en futuras publicaciones hablaremos de cada uno de estos tipos de datos de forma más completa.

Tipo de dato numérico

En Python tenemos: números enteros, números decimales y números complejos. Los números enteros representan todos los números "Enteros" (positivos y negativos). Los números decimales son todos los números que contiene dígitos después de un punto decimal. También existe los números complejos, que son utilizados generalmente para funciones matemáticas.

Tipo de dato String o Cadena

Un String o Cadena es una secuencia de caracteres. Las cadenas comienzan y terminan con comillas dobles o simples. Para una cadena de texto larga y que tiene saltos de líneas, podemos utilizar las comillas triples ("""Texto""")

Tipo de dato Boolean (True y False)

El tipo de datos más simple de construir es el tipo Booleano (verdadero y falso). Muy útil en las expresiones condicionales y cualquier otro lugar que se necesite la verdad o falsedad de una condición.

Tipo de dato Tupla

Las Tuplas son como un tipo de contenedor que almacena una serie de valores separados por comas entre paréntesis. Las tuplas son inmutables (es decir, no pueden cambiar su contenido una vez creadas)

Tipo de datos Lista

Al igual que las tuplas, las listas son contenedores de elementos separados por comas y entre corchetes ([ ]). Pero a diferencias de las tuplas, las listas pueden ser modificadas. 

Tipo de datos Diccionario

Un diccionario es un conjunto desordenado de pares clave-valor (cada clave contiene un valor). Los elementos de un diccionario son indexados por llaves ({}).

jueves, 1 de febrero de 2018

Zona Python Práctica # 2 .- Funciónes print() e input()

Práctica # 2 Usando las funciones print() e input()

Realiza un programa de nombre practica2.py que capture el nombre de una persona, su edad y nacionalidad y los mande a imprimir por pantalla. El resultado por pantalla, después de la captura de información, debe ser como el siguiente ejemplo suponiendo que yo ingrese mis datos:

Nombre: David Pérez Reyes
Edad: 36 años
Nacionalidad: Mexicana

TIP: Para mandar a imprimir por pantalla el contenido de una variable se puede hacer antes o despues de una cadena de texto como por ejemplo print (variable,"Texto") ó print("Texto",variable).

OJO: Observa que antes o después de mandar a llamar a una variable se debe colocar una ",". 

Al ejecutar nuestro programa practica2.py desde CMD debe verse de la siguiente forma:


Zona Python # 4 .- Entrada por teclado en Python, función input()

Ingreso de datos por el teclado

Podemos asignarle un valor a una variable desde nuestro teclado, esto quiere decir sin necesidad de asignárselo desde el código como vimos en el ejercicio3.py. Para ello debemos aprender el uso de la función input() que nos permite obtener texto capturado en teclado.

Veamos como funciona con el siguiente código. Abrimos un nuevo proyecto en nuestro editor y escribimos lo siguiente:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

print ('Cual es tu nombre?: ')
nombre = input ()
print ('Hola',nombre)

Lo guardamos y ejecutamos en CMD. Al correr el programa observaremos que nos aparece la primera línea preguntándonos nuestro nombre y el cursor parpadeando debajo de esta. El programa esta esperando a que introduzcamos algún texto y continuará hasta que demos ENTER. Una vez que damos ENTER aparecerá una nueva línea diciéndonos "Hola tu nombre".

¿Que fue lo que realizó el código? simple, le asigno a la variable "nombre" el texto que nosotros tecleamos mediante la función input() y a su vez la función print() de la sexta línea de código la manda a imprimir a pantalla.

El resultado por CMD debe ser el siguiente: