#Obtén el cuadrado de 1

#Obtén el cuadrado de 2

#Obtén el cuadrado de 3

#Obtén el cuadrado de 4

#Obtén el cuadrado de 5

#Obtén el cuadrado de 6

#Obtén el cuadrado de 7

#Obtén el cuadrado de 8

#Obtén el cuadrado de 9

#Obtén el cuadrado de 10

"""
Explanation: Bienvenid@ a otra reunión de pyladies!!
Sólo para asegurarnos de que estamos en la misma página, vamos a enumerar (y explicar) brevemente lo que hemos estado viendo en python.


Operaciones básicas o cómo usar python como calculadora. Python se puede usar básicamente como cualquier calculadora operando directamente sobre objetos como números enteros (integers) o decimales (floats) y series de caracteres (strings)


Asignación de variables.Si quieres guardar los resultados de operaciones, floats, integers, strings en la memoria de python lo que tenemos que hacer es asignarlos a unas variables. Para hacer esto tienes que inventar un nombre (que empiece con letras del alfabeto) poner un signo igual y después de este el valor u operación que desees guardar como en el siguiente ejemplo:


variable = 5 + 2.5
variable_string = "String"

Listas, el álbum coleccionador de python. Si lo que quieres es una colección de elementos en python, una de las estructuras de datos que te permite hacer esto son las listas, para estas tienes que poner entre corchetes los elementos que quieras guardar (todos los tipos de datos incluyendo listas!) separados por comas. Ejemplo:

lista = [variable, 5, 2.5, "Hola"]

Control de flujo. Decisiones con "if" y "else". En algún punto tendrás que hacer un programa el cual deba seguir dos caminos distintos dependiendo de una condición. Por ejemplo para decidir si usar un paraguas o no un programa puede ser: Si llueve entonces uso un paraguas, de lo contrario no se usa. Esto en python se representa de la siguiente forma:

if lluvia == True:
paraguas = True

else:
paraguas = False


Funciones. Cada vez que te encuentras usando el mismo código una y otra vez, sabes que es hora de abstraer y hacer una bella función :D. Por ejemplo si mientras escribes un programa te das cuenta que has tenido que sacar el resultado de una expresioón tipo "a + b * (c - a)" es hora de empezar a considerar el representar esa expresión en una función. Recuerda que las funciones se representan de la siguiente manera:

def función(arg1, arg2, argn):
    resultado = a + b (c - a)
    return* resultado
Espero que este repaso te haya ayudado a refrescar tu memoria, pero lo que hoy veremos es un concepto muy útil en la programación y éste es la iteración.
Iteraciones en python
Las iteraciones son la repetición de una misma secuencia de paso determinado número de veces, esta repetición iteración se va a llevar a cabo hasta que se cumpla una condición. Para hacerlo más claro imagina que tu quieres obtener el cuadrado de todos los número del 1 al 20, lo que tendrías que hacer en python (si no hubiera iteraciones) es escribir la misma operación 20 veces. Como ejercicio (tortura :D) obtén los cuadrados manualmente
End of explanation
"""


for numero in range(1,21):
    cuadrado = numero**2
    print(cuadrado)

"""
Explanation: Yo creo que el punto está entendido... Es tedioso estar escribiendo lo mismo 20 veces. Ahora imagina que no tienes que hacer esto 20 veces, sino 10 000!!! Suena a mucho trabajo no? Sin embargo en python hay varias estrategias para resolverlo. Hoy veremos el for loop (o froot loop como yo le digo jejeje).
El for loop es una clase de iteración a la cual tu le vas a dar una lista o colección de objetos para iterar (llamados iterables) y sobre cada elemento va a ejecutar la serie de instrucciones que le diste hasta que se acabe la lista o iterble. Veamos un ejemplo para clarificarlo... Hagamos lo mismo que queríamos hacer en el ejemplo anterior.
End of explanation
"""


lista = [5.9, 3.0, 2, 25.5, 14.2,3, 5]

for numero in lista:
    print(numero)

range(20)

"""
Explanation: Yeiii!!! viste lo que se puede hacer con loops. Ahora te toca a ti. 
Ejercicio 1
Crea un programa que convierta todos los elementos de la siguiente lista a integers (usando por supuesto el froot loop)
End of explanation
"""


nombre= input('Dime tu nombre')

nombre

for num in range(3):
    print(nombre)

num = input('Escoge... 1:10')
numero = int(num)
for element in range(numero):
    print('hola')

"""
Explanation: Ejercicio 2
crea un programa que imprima "hola" el número de veces que el usuario escoja. 
Ejemplo. 
"Escoge un número del 1 al 10":
3
"hola"
"hola"
"hola"
pista: busca la función de python input()
End of explanation
"""


lista_anidada = [['Perro', 'Gato'], ['Joven', 'Viejo'], [1, 2]]

"""
Explanation: Loops anidados
Algo curioso en python es que puedes generar un loop for, dentro de otro loop. INCEPTION...
Veamos un ejemplo
End of explanation
"""


for elemento in lista_anidada:
    print (elemento)

"""
Explanation: Observa lo que para cuando le pedimos a python que nos imprima cada elemento de la lista anidada
End of explanation
"""


for elemento in lista_anidada:
    for objeto in elemento:
        print(objeto)

"""
Explanation: Y que pasa si queremos obtener cada elemento de todas las listas
End of explanation
"""


