Aprende Python en 5 días (II)

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:
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 😞