Aprende Python en 5 días (II)

Ricardo Vega

Ricardo Vega / 03 diciembre 2015

⏰ 4 minutos

En el anterior post, hicimos una introducción a Python y creamos nuestro primer programa. Seguimos en esta ocasión justo en el punto en el que lo dejamos:

Python - Curso 2ª Parte

Nota: a partir de este momento, puedes escribir código directamente sobre el Prompt de Python tal y como te enseñe en el anterior post o escribirlo en un archivo mediante un editor de texto y ejecutarlo a través del comando Python (opción recomendada).

Vamos a hacer un "hola mundo" un poco más complejo. Vamos a crear un programa que nos pregunte el nombre, lo guarde en una variable y lo muestre por pantalla.

name = raw_input("Introduce tu nombre:")
print "Hola", name`

Las variables que obtenemos a través de raw_input son por defecto Strings aunque, en caso de ser necesario (y posible) podemos hacer conversiones por ejemplo empleando float(name). Lógicamente, no podemos pasar a flotante un string del tipo "pepito".

Otro detalle importante que no debemos pasar por alto es cómo Python distingue entre mayúsculas y minúsculas por lo que la variable name es totalmente diferente a Name.

En este momento, te recomiendo que leas este documento o alguna de las muchas traducciones al español disponibles en Internet. Estoy hablando de la guía de estilo de Python que son las diferentes normas para escribir código ajustándose al Zen Python.

Operaciones Lógicas

data_str=raw_input("Introduce un número")
data=float(data_str)
if data > 100:
    print "Tu número es mayor que 100"
elif data < 0:
    print "Has introducido un número negativo"
else
    print "Tu número está entre 0 y 100"

Como ves, la estructura del condicional es:

if (condición1):
    operaciones1
elif (condición2):
    operaciones2
else:
    operaciones3

Lo que se traduce en Si se cumple la condición1 hago operaciones1, si no se cumple la condición1 pero si la 2, ejecuto operaciones 2 y en el caso de que ninguna condición se cumpla, ejecuto operaciones3.

El bloque puede ir acompañado o no de los bloques elif y/o else.

Bucles

Existen varios bucles en Python:

Bucle while

Ese tipo de bucle repite un conjunto de instrucciones mientras se cumpla una determinada condición que se evalúa al principio de cada ejecución:

while ((input != "s") and (input != "n")):
    input=raw_input("Are you reading ricveal.com? (s-n) ")

Bucle for

Los bucles for sirven para iterar una variable sobre una secuencia. La potencia de esta clase de bucles es muy amplia por lo que se usan en gran cantidad de ocasiones.

sec = [1,2,3]
for i in sec:
    print (i)

Que nos devuelve :

1 2 3

Una forma bastante típica de iterar en el bucle for es definiendo la lista de iteración con la función range(). Veamos un ejemplo:

for i in range(5):
    print i

que nos devuelve:

0 1 2 3 4

Palabras reservadas

En Python, al igual que en otros lenguajes de programación, existen una serie de palabras que no podemos emplear ya que están reservadas para el uso interno del lenguaje.

Ahora que hemos visto los bucles, podemos ver algunas palabras reservadas:

  • continue : nos lleva de nuevo al principio del bucle aunque no se haya terminado de ejecutar el anterior ciclo.
  • break : rompe el bucle. Hace que salgamos del bucle directamente sin necesidad de volver a evaluar la condición y aunque siga siendo cierta.

Funciones

def calcula_paga(horas, tasa) : # Inicio Función
    if horas > 40:
        ex = horas-40
        total = 40.0 * tasa + ex * 1.5 * tasa
    else :
        total = horas * tasa
    return total
# Fin Función

inp = raw_input("Enter Hours:")
hours=float(inp)
inp = raw_input("Enter Fee:")
fee=float(inp)
pago = calcula_paga(hours,fee) # Llamada a la función print "Paga:",pago

Como ves, definimos las funciones antes de llamarlas. La nomenclatura es clara:

def **nombre_función** (variables_que_le_paso):
    operaciones return datos_a_devolver

Nota: no siempre tenemos que pasarle parámetros a la función en la llamada o querer devolver datos.

Con esto acabamos el post de hoy. Poco a poco, ya sabemos bastante de Python. Con estos dos artículos que llevamos deberíamos tener conocimientos suficiente como para crear gran número de programas.

Ahora mismo tenemos capacidad para pintar en pantalla información, pedírsela al usuario con "raw_input" así como el conocimiento necesario para ejecutar una gran cantidad de operaciones aritméticas y lógicas con las que crear, valga la redundancia, la lógica del programa.

Me gustaría que, con lo que sabes, intentes hacer un programa sencillo capaz de resolverte un problema real. ¿Qué tal la experiencia?

Nos vemos en el próximo capítulo ;)

Subscríbete a mi newsletter

Actualmente estoy llevando a cabo algunos cambios en mi Newsletter y no es posible apuntarse 😞

Ver ediciones pasadas