martes, 5 de abril de 2016

Python V (sintaxis)

Este es otro post dedicado a programación en Python, encontraréis todos los posts de este tipo juntos en el apartado Programación del blog. Y si queréis aprender más podéis visitar la web oficial de www.python.org

Hoy vamos a ver la sintaxis de este lenguaje.




1.1 Condiciones


Para que python ejecute unas líneas de código al cumplirse unas condiciones usaremos el comando if, combinado con el uso del tabulador. mirad el siguiente ejemplo

#Definimos la variable x con el valor 15
x = 15
#Creamos una condición
if x > 10:
    #Línea que se ejecutará si se cumple la condición (con tabulación delante)
    print("x es superior a 10")

en el ejemplo anterior hemos definido x=15 y luego hemos creado una condición si x es superior a 10 que python muestre por pantalla el texto x es superior a 10. Fijaos bien que después de la línea de la condición hay : (dos puntos), y que las líneas que deben ejecutarse si se cumple la condición están sangradas con un tabulador delante.

Podemos hacer que las condiciones también ejecuten código en el caso de no cumplirse la condición, como muestro en el siguiente ejemplo


#Definimos la variable x con el valor 15
x = 15
#Creamos una condición
if x > 10:
    #Línea que se ejecutará si se cumple la condición (con tabulación delante)
    print("x es superior a 10")
else:
    #Línea que se ejecutará si no cumple la condición (con tabulación delante)
    print("x es menor que 10")

como podemos ver hemos añadido un else: (que significa si la condición no se cumple), que nos sirve para ejecutar otra línea de código. Para probar el funcionamiento ejecutad el código primero con x=15 y luego por ejemplo con x=5.

Además la condición if nos permite encadenar condiciones usando elif, os lo muestro a continuación

#Definimos la variable Edad con valor 5
Edad = 5
#Creamos una condición
if Edad > 65:
    #Linea que se ejecutará si se cumple la condición (con tabulación delante)
    print("Tercera edad")
elif Edad<15:
    #Linea que se ejecutará si se cumple Edad<15
    print("Joven")
else:
    #Linea que se ejecutará si no se cumplen las dos condiciones anteriores
    print("Adulto")

podéis ejecutar el código varias veces cambiando el valor de la variable Edad.
otro ejemplo parecido seria el siguiente

#Definimos la variable Edad con valor 5
Edad = 5
#Creamos una condición
if Edad > 65:
    #Linea que se ejecutará si se cumple la condición (con tabulación delante)
    print("Tercera edad")
elif Edad>20:
    #Linea que se ejecutará si se cumple Edad<15
    print("Adulto")
elif Edad>12:
    #Linea que se ejecutará si se cumple Edad<15
    print("Adolescente")
else:
    #Linea que se ejecutará si no se cumplen las dos condiciones anteriores
    print("Niño")

podéis ejecutar el código varias veces cambiando el valor de la variable Edad.


1.2 Comparadores lógicos


Para poder explotar al máximo las condiciones es importante conocer como comparar valores, para ello podemos usar los siguientes ==, !=, <, >, <=, >=. Veamos el significado abajo

== exactamente igual a
!= diferente de (también podemos usar el comparador <>)
< menor que
> mayor que
<= menor o igual a
>= mayor o igual a

Los comparadores lógicos funcionan con números y con cadenas pero de forma algo diferente a lo habitual por ejemplo la cadena aa es inferior a la cadena ab pero la cadena aaa es superior a la cadena aa, ya que las cadenas se comparan de forma lexicográfica (o sea en el orden en que aparecen en el diccionario) pero hay que tener en cuenta que la letra mayúscula es inferior a la misma letra en minúscula (A es inferior a a).

creo que esto es muy sencillo lo podéis probar vosotros mismos modificando los ejemplos anteriores.


1.3 Operadores lógicos


En algunos casos las condiciones que hemos visto hasta ahora en combinación con los comparadores lógicos no nos serán suficiente, para ello disponemos de los operadores lógicos que nos van a permitir encadenar condiciones en un mismo if. Los operadores lógicos son and, or y not. Veamos unos ejemplos

# Definimos la variable Edad=17
Edad=17
# Creamos una condición doble
if Edad>=12 and Edad<=20:
    # Línea que se ejecutará si se cumplen las dos condiciones
    print("Adolescente")
else:
    # Línea que se ejecutará si no se cumplen las dos condiciones
    print("No es un adolescente")

en este ejemplo solo veremos el texto Adolescente si la variable Edad cumple las dos condiciones. Cambiad el valor de la variable y ejecutadlo para ver el resultado.
Otro ejemplo seria este

# Definimos la variable Edad=25
Edad=25
# Creamos una condición doble
if Edad<12 or Edad >20:
    # Línea que se ejecutará si se cumple la primera o la segunda condición
    print("No es un Adolescente")
else:
    # Línea que se ejecutará si no se cumple alguna de las dos condiciones
    print("Es un adolescente")

en este caso solo veremos el texto Adolescente si la Variable Edad cumple una de las dos condiciones. Cambiad el valor de la variable y ejecutadlo para ver el resultado.
El último ejemplo es el siguiente, una condición negativa o  inversa

# Definimos la variable Edad=25
Edad=25
# Creamos una condición doble
if not Edad<12:
    # Línea que se ejecutará si se cumple la condición
    print("Tiene mas de 12 años")
else:
    # Línea que se ejecutará si no se cumple la condición
    print("No tiene más de 12 años")

en este caso veremos el texto por pantalla si Edad no es inferior a 12 (o sea si edad es superior o igual a 12 veremos el texto). Cambiad el valor de la variable y ejecutadlo para ver el resultado.


1.4 Repetición de instrucciones (bucles)


En programación es normal ejecutar instrucciones de forma repetida un determinado número de veces o bien mientras se cumpla o no una determinada condición. Vamos a ver como repetir una instrucción un determinado número de veces

1.4.1 El bucle for


este comando nos proporciona la posibilidad de realizar una acción un determinado número de veces dentro de un rango, las instrucciones que se tienen que repetir están sangradas con un tabulador justo debajo de la línea con la instrucción for que finaliza con :, veamos el siguiente ejemplo

# Instruccion de bucle que se ejecuta mientras x esté en el rango de 1 a 10
for x in range(1,10):
    # linea que muestra por pantalla el valor de x
    print(x)

si ejecutamos este código veremos que nos muestra por pantalla los números del 1 al 9, si deseamos que se muestre el 10 debemos sustituir el valor 10 por el valor 11, ya que el último valor no entra en la ejecución del for. Podéis cambiar los valores y ejecutar  el código para ver como responde.

1.4.2 El bucle while


este comando nos permite ejecutar una acción un número de veces necesario hasta que se cumpla o no una determinada condición, las instrucciones que se tienen que repetir están sangradas con un tabulador justo debajo de la línea con la instrucción while que finaliza con :, veamos un ejemplo

# Definimos la variable x igual a 0
x=1
# Instrucción while, indica la repetición de instrucciones mientras x menor que 10
while x<10:
    # linea que muestra por pantalla el valor de x
    print(x)
    # linea que aumenta en una unidad el valor de x
    x=x+1

el código anterior genera el mismo resultado que el ejemplo del bucle for, pero hemos utilizado otra forma, la principal diferencia entre for y while es que el primero ya tiene un rango definido en el que se repetirán las instrucciones mientras que en el while lo que tenemos es una condición, hay que tener cuidado de no crear un bucle infinito, gracias a la línea de código x=x+1 el valor de x aumenta cada vez que se ejecuta la instrucción, si esta línea no existiera el valor de x siempre seria uno y el bucle se ejecutaría de forma indefinida. Podéis probar de cambiar los valores de la variable x y la condición para ver como se comporta.

1.4.3 Interrumpir un bucle


en algunos casos es necesario romper un bucle for o while (si se da una determinada condición), para ello usamos la instrucción break, veamos dos ejemplos

# Instruccion de bucle que se ejecuta mientras x esté en el rango de 1 a 10
for x in range(1,10):
    # linea para romper el bucle, si se cumple la condición salimos del bucle
    if x==5:
        break
    # linea que muestra por pantalla el valor de x
    print(x)

en este ejemplo si x es igual a 5 salimos del bucle de forma que veremos por pantalla los números del 1 al 4 (fijaos que hemos usado x==5, si usáis x=5 el código generará un error).

# Definimos la variable x igual a 0
x=1
# Instrucción while, indica la repetición de instrucciones mientras x sea menor que 10
while x<10:
    # linea que muestra por pantalla el valor de x
    print(x)
    # linea que aumenta en una unidad el valor de x
    x=x+1
     # linea para romper el bucle, si se cumple la condición salimos del bucle
    if x==5:
        break

en el segundo ejemplo si x es igual a 5 salimos del bucle, veremos por pantalla los números del 1 al 4. Cambiad los valores de las variables y condiciones para ver como se comporta.