<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Opreaciones Matematicas
Suma 
Step1:  Multiplicación
Step2:  División
Step3:  Potencia
Step4:  Funciones Trigonometricas
En las siguientes celdas vamos a calcular los valores de funciones comunes en nuestras clases de matemáticas.
Para esto, necesitamos importar la libreria numpy.
Step5:  Logaritmo y Exponencial
Step6:  Reto de Programación
Variables
Una variable es un espacio para guardar valores modificables o constantes.
python
nombre_de_la_variable = valor_de_la_variable
Los distintos tipos de variables son
Step7:  Variable tipo int
Step8:  Variable tipo float
Step9:  Variable tipo str
Step10:  Variable tipo bool
Step11:  Como averiguo el tipo de una variable ??
Utilizando la función type
Step12:  Reto de Programación
Variables para guardar colecciones de datos
 Python tiene otro 3 tipos de variables mas complejas que pueden almacenar colecciones de datos
como los visotos anteriormente
Listas
Tuplas
Diccionarios
Listas
Las listas permiten guardar colecciones de datos con diferentes tipos
Step13:  Como puedo mirar un elemento o elementos de mi lista??
Para leer el elemento de la posición n, se usa
Step14:  Como leer los elementos entre la posición n y m??
python
mi_lista[n
Step15:  Reto de Programación
Tuplas
Las tuplas permiten guardar colecciones de datos de diferentes tipos
Step16:  Reto de Programación
Diccionarios
Mientras que en las listas y tuplas se accede a los elementos por un número de indice, en los diccionarios se utilizan claves(numericas ó de texto) para acceder a los elementos. Los elementos guardados en cada clave son de diferentes tipos, incluso listas u otros diccionarios.
python
int; str; float; bool, list, dict
Una diccionario se crea de la siguiente forma
Step17:  Reto de Programación
Estructuras de control condicionales
Las estructuras de control condicionales nos permiten evaluar si una o mas condiciones se cumplen, y respecto a esto
ejecutar la siguiente accion.
Primero usamos
Step18:  Reto de Programación
Estructuras de control iterativas(cíclicas o bucles)
Estas estructuras nos permiten ejecutar un mismo codigo, de manera repetida, mientras se cumpla una condición.
Bucle While
Este bucle ejecuta una misma acción mientras determinada condición se cumpla
Step19:  Reto de Programación
Bucle for
En Python el bucle for nos permite iterar sobre variables que guardan colecciones de datos, como 
<ASSISTANT_TASK:>
Python Code:
2+3
Explanation: Opreaciones Matematicas
Suma : $2+3$
End of explanation
2*3
Explanation: Multiplicación: $2x3$
End of explanation
2/3
Explanation: División: $\frac{2}{3}$
End of explanation
2**3
Explanation: Potencia: $ 2^{3}$
End of explanation
# Importar una libreria en Python
import numpy as np # el comando "as np" sirve para asignarle un codigo mas corto a la libreria y ser mas rapido.
np.sin(3)
(np.sin(3))*(np.sin(2))
Explanation: Funciones Trigonometricas
En las siguientes celdas vamos a calcular los valores de funciones comunes en nuestras clases de matemáticas.
Para esto, necesitamos importar la libreria numpy.
End of explanation
np.log(3)
np.exp(3)
Explanation: Logaritmo y Exponencial: $ln(3), e^{3}$
End of explanation
# Ejemplo
a = 5
print (a) # Imprimir mi variable
Explanation: Reto de Programación
Variables
Una variable es un espacio para guardar valores modificables o constantes.
python
nombre_de_la_variable = valor_de_la_variable
Los distintos tipos de variables son:
Enteros (int): 1, 2, 3, -10, -103
 Números continuos (float): 0.666, -10.678
 Cadena de texto (str): 'clubes', 'clubes de ciencia', 'Roberto'
Booleano (verdadero / Falso): True, False
End of explanation
b = -15
print (b)
Explanation: Variable tipo int
End of explanation
c = 3.1416
print (c)
Explanation: Variable tipo float
End of explanation
d = 'clubes de ciencia'
print (d)
Explanation: Variable tipo str
End of explanation
e = False
print (e)
Explanation: Variable tipo bool
End of explanation
print (type(a))
print (type(b))
print (type(c))
print (type(d))
print (type(e))
Explanation: Como averiguo el tipo de una variable ??
Utilizando la función type:
python
type(nombre_de_la_variable)
End of explanation
# Ejemplo
mi_lista = [1,2,3,5,6,-3.1416]
mi_lista_diversa = [1,2,'clubes', 'de', 'ciencia', 3.1416, False]
print (mi_lista)
print (mi_lista_diversa)
Explanation: Reto de Programación
Variables para guardar colecciones de datos
 Python tiene otro 3 tipos de variables mas complejas que pueden almacenar colecciones de datos
como los visotos anteriormente
Listas
Tuplas
Diccionarios
Listas
Las listas permiten guardar colecciones de datos con diferentes tipos:
python
int; str; float; bool
Una lista se crea de la siguiente forma:
python
nombre_de_la_lista = [valor_1, valor_2, valor_3]
Los valores de la lista pueden ser modificados.
End of explanation
# Ejemplo
print (mi_lista[0]) # Leer el primer elemento que se encuentra en la posición n=0
print (mi_lista_diversa[0])
print (type(mi_lista[5])) # Leer el tipo de variable en la posición n=5
Explanation: Como puedo mirar un elemento o elementos de mi lista??
Para leer el elemento de la posición n, se usa:
python
mi_lista[n]
End of explanation
#Ejemplo
print (mi_lista[0:3]) # Leer entre n=0 y m=2
Explanation: Como leer los elementos entre la posición n y m??
python
mi_lista[n:m+1]
End of explanation
#Ejemplo
mi_lista = ('cadena de texto', 15, 2.8, 'otro dato', 25)
print (mi_lista)
print (mi_lista[2]) # leer el tercer elemento de la tupla
print (mi_lista[2:4]) # leer los dos ultimos elementos de la tupla
Explanation: Reto de Programación
Tuplas
Las tuplas permiten guardar colecciones de datos de diferentes tipos:
python
int; str; float; bool
Una tupla se crea de la siguiente forma:
python
mi_tupla = ('cadena de texto', 15, 2.8, 'otro dato', 25)
Los valores de una tupla no pueden ser modificados. Sus elementos se leen como en las listas
End of explanation
# Ejemplo 1
mi_diccionario = {'grupo_1':4, 'grupo_2':6, 'grupo_3':7, 'grupo_4':3}
print (mi_diccionario['grupo_2'])
# Ejemplo 2 con diferentes tipos de elementos
informacion_persona = {'nombres':'Elon', 'apellidos':'Musk', 'edad':45, 'nacionalidad':'Sudafricano',
                      'educacion':['Administracion de empresas','Física'],'empresas':['Zip2','PyPal','SpaceX','SolarCity']}
print (informacion_persona['educacion'])
print (informacion_persona['empresas'])
Explanation: Reto de Programación
Diccionarios
Mientras que en las listas y tuplas se accede a los elementos por un número de indice, en los diccionarios se utilizan claves(numericas ó de texto) para acceder a los elementos. Los elementos guardados en cada clave son de diferentes tipos, incluso listas u otros diccionarios.
python
int; str; float; bool, list, dict
Una diccionario se crea de la siguiente forma:
python
mi_diccionario = {'grupo_1':4, 'grupo_2':6, 'grupo_3':7, 'grupo_4':3}
Acceder al valor de la clave grupo_2:
python
print (mi_diccionario['grupo_2'])
End of explanation
# Ejemplo
color_semaforo = 'amarillo'
if color_semaforo == 'verde':
    print ("Cruzar la calle")
else:
    print ("Esperar")
# ejemplo
dia_semana = 'lunes'
if dia_semana == 'sabado' or dia_semana == 'domingo':
    print ('Me levanto a las 10 de la mañana')
else:
    print ('Me levanto antes de las 7am')
# Ejemplo
costo_compra = 90
if costo_compra <= 100:
    print ("Pago en efectivo")
elif costo_compra > 100 and costo_compra < 300:
    print ("Pago con tarjeta de débito")
else:
    print ("Pago con tarjeta de crédito")
Explanation: Reto de Programación
Estructuras de control condicionales
Las estructuras de control condicionales nos permiten evaluar si una o mas condiciones se cumplen, y respecto a esto
ejecutar la siguiente accion.
Primero usamos:
python
if
Despues algun operador relacional para comparar
```python
== igual que
!= diferente de 
<  menor que
mayor que
<= menor igual que
= mayor igual que
```
Cuando se evalua mas de una conición:
```python
and, & (y)
or, | (ó)
```
End of explanation
# ejemplo
anio = 2001
while anio <= 2012:
    print ("Informes del Año", str(anio))
    anio = anio + 1 # aumentamos anio en 1
# ejemplo
cuenta = 10
while cuenta >= 0:
    print ('faltan '+str(cuenta)+' minutos')
    cuenta += -1
Explanation: Reto de Programación
Estructuras de control iterativas(cíclicas o bucles)
Estas estructuras nos permiten ejecutar un mismo codigo, de manera repetida, mientras se cumpla una condición.
Bucle While
Este bucle ejecuta una misma acción mientras determinada condición se cumpla:
python
anio = 2001
while anio &lt;= 2012:
    print ("Informes del Año", str(anio))
    anio = anio + 1 # aumentamos anio en 1
En este ejemplo la condición es menor que 2012
End of explanation
# Ejemplo
mi_tupla = ('rosa', 'verde', 'celeste', 'amarillo')
for color in mi_tupla:
    print (color)
# Ejemplo
dias_semana = ['lunes','martes','miercoles','jueves','viernes','sabado','domingo']
for i in dias_semana:
    if (i == dias_semana[-1]) or (i == dias_semana[-2]):
        print ('Hoy seguire aprendiendo de programación')
    else:
        print ('Hoy tengo que ir al colegio')
Explanation: Reto de Programación
Bucle for
En Python el bucle for nos permite iterar sobre variables que guardan colecciones de datos, como : tuplas y listas.
python
mi_lista = ['Juan', 'Antonio', 'Pedro', 'Herminio']
for nombre in mi_lista:
    print (nombre)
En el codigo vemos que la orden es ir por cada uno de los elementos de la lista para imprimirlos.
End of explanation
<END_TASK>