```{python}
5
print(10)
```
10
Actualmente la necesidad de comunicarnos con las computadoras, es enorme. Sin embargo, estas maquinas no pueden escribir los programas por ellas mismas y peor aún, no entienden idioma humano.
Por lo anterior, surge la necesidad de desarrollar lenguajes computadora, para que estas nos entiendad y realicen lo que necesitamos.
Computational Thinking
Su filosofía enfatiza * Legibilidad del código * Sintaxis
Python busca que lo anterior le permita al programador expresar conceptos en muy pocas líneas de código. Tarea que quizá no sería tan fácil con lenguajes como C++ o Java.
Busca proporcionar programas claros tanto a pequeña como a gran escala.
Esta función nos permite mostrar el output en la consola. Supongamos que quiero mostrar en mi consola el número 5.
¿Cómo lo hago?
```{python}
5
print(10)
```
10
Un identificador es el nombre que le damos a una variable, función o módulo. Los identificadores pueden tener uno o más caracteres en el siguiente formato:
Recomendación
Cuando vayas a usar una constante como el número Pi, alguna fórmula matemática, etc., se recomienda nombres a tu variable con letras mayúsculas.
```{python}
= "Hola, mundo!"
miVariableprint(miVariable)
="Hola a todos!"
_miVariableprint(_miVariable)
=299.792,458
VELOCIDAD_LUZ```
Hola, mundo!
Hola a todos!
Las variables se usan para almacenar la información que será manipulada. Como ya vimos, es el nombre de alguna información mientras que un valor es la información en sí.
Por ejemplo
fecha_de_hoy =
```{python}
="ACA I"
clase_favoritaprint(clase_favorita)
="ACA III"
clase_favoritaprint(clase_favorita)
```
ACA I
ACA III
```{python}
=b=c=1
a#forma 1
print(a)
print(b)
print(c)
#forma 2
print(a,b,c)
```
1
1
1
1 1 1
```{python}
= 8, 10.3, "Hola!"
a,b,c
#Forma 1
print(a,b,c)
#Forma 2
print(a)
print(b)
print(c)
```
8 10.3 Hola!
8
10.3
Hola!
input()
es la función que utilizamos para obter información del usuario. Su sintaxis es la siguiente:
nombre_variable = input("Información que quiero como input")
```{python}
#nombre=input("Por favor ingresa tu nombre ")
= "Jon"
nombre print(nombre)
#materia= input("¿Cuál es tu clase favorita?")
= "ACA 1"
materia print(materia)
```
Jon
ACA 1
Todo valor en Python tiene un tipo de dato. Podemos usar la función type() para saber el tipo de dato.
En esta categoría entran los números enteros,decimales y complejos. Estos son definidos en Python como int,float y complex respectivamente.
Podrán no parecer muy útiles al principio, pero son esenciales cuando usamos condicionales. Los valores booleanos sólo son dos * True * False
Ojo
True
y False
son palabras reservadas.
Consite en la secuencia de uno o más caracteres, los cuales pueden incluir:
* Letras * Números * Espacios * Otro tipo de caracteres
Python nos permite usar ” “ o ’ ’
Se le llama concatenar a la acción de juntar más un strig en uno solo.
Por ejemplo:
```{python}
='ACA III'
materia="Arturo Bouzas"
profesor
#Cómo le hago para mandar a imprimir algo que diga "La materia ACA III es
#impartida por el Doctor Arturo Bouzas"?
print("La materia " + materia+ " es impartida por el Doctor "+ profesor)
```
La materia ACA III es impartida por el Doctor Arturo Bouzas
```{python}
#Ejercicio
=8
adjuntas='ACA'
materia=3
aca= "Arturo Bouzas"
profesor```
```{python}
=21
edad="21"
miEdad=2>1
es_Mayor=20<10
es_Menor
#Imprimimos
print(edad)
print(miEdad)
print(es_Mayor)
print(es_Menor)
```
21
21
True
False
¿El 21 de edad es igual al 21 de mi Edad?
```{python}
print(type(edad))
print(type(miEdad))
```
<class 'int'>
<class 'str'>
Los operadores son símbolos como: * + * - * = * (>)(<)
que realizan ciertas operaciones matemáticas o lógicas que manipulan los valores de los datos y producen un resultado basado en algunas reglas.
Estos se usan para ejecutar operaciones aritméticas como adición, substracción, división, multiplicación etc.
Produce una suma
```{python}
#Podemos hacer sumas simples como
print(1+3)
print(10+200)
#O incluso sumar los valores que hay dentro de variables
=22
edad_Gaby=23
edad_Pam=edad_Gaby+edad_Pam
edadTotal
print(edadTotal)
```
4
210
45
Produce la diferencia de los operandos (resta).
```{python}
# Restas simples
= 2021-1998
edadprint(edad)
print(2021-2003)
#Restar los valores que hay dentro de variables
=edad_Pam-edad_Gaby
edadTotalprint(edadTotal)
```
23
18
1
Devuelve el producto de los operandos.
```{python}
#Forma simple
print(500*12)
#Multiplicar los valores que hay dentro de variables
=500
ahorros_1mes=ahorros_1mes*12
ahorros_1añoprint(ahorros_1año)
```
6000
6000
Produce el cociente de sus operandos donde el operando izquierdo es el dividendo y el operando derecho es el divisor.
```{python}
#División simple
#Recuerda el lugar que ocupan los números
print(2/10) #No es lo mismo que
print(10/2)
#Dividir los valores que hay dentro de variables
=30
numero_1=2
numero_2
print(numero_1/numero_2)
print(numero_2/numero_1)
```
0.2
5.0
15.0
0.06666666666666667
Divide el operando de la izquierda por el operando de la derecha y devuelve el residuo.
```{python}
print(numero_1%numero_2) #el resultado es 15 con residuo 0
print(numero_2%numero_1) #el resultado es .06 con residuo 2
print(7%2) #el resultado es 3 con residuo 1
```
0
2
1
Realiza cálculos exponenciales (potencias).
```{python}
=30
p=4
qprint(p**q)
=3.14
pi=5
radio#Area del círculo
print(pi*(radio**2))
```
810000
78.5
Devuelve la parte entera del cociente.
```{python}
print(5/2)
print(5//2)
```
2.5
2
Si los valores de dos operandos son iguales, la condición se convierte en true(booleano). Si los valores son diferentes la condición se convierte en false (booleano).
```{python}
#¿El valor en edad_Gaby es igual al valor en edad_Pam?
print(edad_Gaby==edad_Pam)
#¿El valor en edad_Pam es igual al valor en edad_Pam?
print(edad_Pam==edad_Pam)
#¿El valor en edad_Gaby es igual al número 22?
print(edad_Gaby==22)
```
False
True
True
Ojo
No confundir el operador de asignación “=” con el operador igual a “==”
Si los valores de dos operandos no son iguales, la condición se convierte en true (booleano). Si los valores son iguales, la condición se convierte en false (booleano).
```{python}
#¿El valor en edad_Gaby es diferente del valor en edad_Pam?
print(edad_Gaby!= edad_Pam)
#¿El valor en edad_Pam es diferente del calor en edad_Pam?
print(edad_Pam!= edad_Pam)
#¿El valor en edad_Gaby es diferente del número 25?
print(edad_Gaby!= 25)
```
True
False
True
Mayor que
Si el valor del operando izquierdo es mayor que el valor del operando derecho, la condición se convierte en true(booleano). En caso contrario se convierte en false (booleano).
```{python}
#¿El valor en edad_Gaby es mayor que el valor en edad_Pam?
print(edad_Gaby>edad_Pam)
#¿El valor en edad_Pam es mayor que el valor en edad_Gaby?
print(edad_Pam>edad_Gaby)
```
False
True
Si el valor del operando izquierdo es menor que el valor del derecho operando, la condición se convierte en true (booleano). En caso contrario se convierte en false (booleano).
```{python}
#¿El valor en edad_Gaby es menor que el valor en edad_Pam?
print(edad_Gaby<edad_Pam)
#¿El valor en edad_Pam es menor que el valor en edad_Gaby?
print(edad_Pam<edad_Gaby)
```
True
False
Si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, la condición se convierte en true (booleano). En caso contrario se convierte en false (booleano).
```{python}
#¿El valor en edad_Pam es mayor o igual que el valor en edad_Pam?
print(edad_Pam>=edad_Pam)
#¿El valor en edad_Gaby es mayor o igual que el valor en edad_Pam?
print(edad_Gaby>=edad_Pam)
```
True
False
Si el valor del operando izquierdo es menor o igual que el valor del operando derecho, la condición se convierte en true(booleano). En caso contrario se convierte en false (booleano).
```{python}
#¿El valor en edad_Gaby es menor o igual que el número 22?
print(edad_Gaby<=22)
#¿El número 29 es menor o igual que el valor en edad_Gaby?
print(29<=edad_Gaby)
```
True
False
Regresará true (booleano) si y sólo si los dos operandos son verdaderos.
```{python}
=20
num1=400
num2#Sólo puedo preguntarle si ambos son mayores a 0
print(num1>0 and num2 >0)
#O puedo indicarle que haga algo con esa información
if num1>0 and num2>0:
print("Los números son mayores a cero")
#print("Los números " +str(num1)+ " y "+ str(num2)+ " son mayores a cero")
```
True
Los números son mayores a cero
Regresará true (booleano) cuando al menos uno de los operandos sea verdadero.
```{python}
=78
a=39
b#Sólo puedo preguntar si alguno de los dos es mayor a 50
print(a>50 or b>50)
#O puedo indicarle que haga algo con esa información
if a>50 or b>50:
print("Hay un número mayor a 50")
#print("El número "+str(a)+ " es mayor a 50")
```
True
Hay un número mayor a 50
Invierte el valor del operando.
Retomemos el ejemplo con AND. Ahí teníamos que
num1>0 and num2>0 = true
lo que haría el operador NOT sería invertir el booleano y convertirlo en false.
```{python}
=10
zif not num1>0:
print("El booleano de z es true")
#¿Por qué no me imprimirá?
```
Declaración If
Nos permite evaluar dentro del programa si se cumple una condición y generar una acción en función del resultado de la evaluación.
Generalmente la estructura para el uso de estas declaraciones es la siguiente:
if
se cumple la condición 1:
relizar A
elif
se cumple la condición 2:
realizar B
elif
se cumple la condición 3:
realizar C
elif
se cumple la condición 4:
realizar D
else:
realizar E
```{python}
#EjemploEntrada = input ("Selecciona 1 o 2: ")
= "1"
EjemploEntrada
if EjemploEntrada == "1":
print("Las prácticas de ACA son divertidas")
print("Son muy divertidas")
elif EjemploEntrada == "2":
print("Python es genial!")
print("Mi programa favorito")
else:
print("No se ingresó un número válido")
```
Las prácticas de ACA son divertidas
Son muy divertidas
Ejecuta un bloque de código de forma repetida, hasta que la condición de la declaración ya no es válida.
En el caso de las iterables, es todo aquello sobre lo cual se pueda realizar un bucle, una cadena o una lista, como en el siguiente ejemplo:
```{python}
= ["rosas", "girasoles", "gardenias"]
flores for jardin in flores:
print(jardin)
```
rosas
girasoles
gardenias
Si se quisiera enumerar a cada uno de los elementos de la lista, usaríamos:
```{python}
for index, jardin in enumerate (flores):
print (index, jardin)
```
0 rosas
1 girasoles
2 gardenias
En el caso de una secuencia de números, podemos usar la función range() como se muestra en el ejemplo:
```{python}
for i in range(5):
print(i)
```
0
1
2
3
4
Ejecuta de forma repetida las instrucciones dentro de un ciclo, mientras que una determinada condición es válida. Generalmente se tiene la siguiente estructura:
While
la condición es verdadera:
realizar A
```{python}
= 5
counter
while counter > 0:
print("Counter = ", counter)
= counter - 1
counter ```
Counter = 5
Counter = 4
Counter = 3
Counter = 2
Counter = 1
Al generar un ciclo while, en ocasiones se requiere primero declarar una variable que funcione como un contador de este ciclo.
Al trabajar con ciclos, en ocasiones es necesario salir de este ciclo cuando se cumple una condición específica, como en el siguiente ejemplo:
```{python}
= 0
k for i in range(5):
= k + 2
k print ("i = ", i, ", k = ", k)
if k == 6:
break
```
i = 0 , k = 2
i = 1 , k = 4
i = 2 , k = 6
```{python}
= 0
k for i in range(5):
= k + 2
k print ("\ni = ", i, ", k = ", k)
if k == 6:
continue
print ("Texto generado hasta k == 6")
```
i = 0 , k = 2
Texto generado hasta k == 6
i = 1 , k = 4
Texto generado hasta k == 6
i = 2 , k = 6
i = 3 , k = 8
Texto generado hasta k == 6
i = 4 , k = 10
Texto generado hasta k == 6
Podemos definir a una función como el dividir un problema en partes y que se puede reutilizar.
Vamos a generar una función que tome 3 números como parámetros para los cuales va a devolver el valor de la mediana.
Podemos representar el valor de la mediana como el medio de los tres valores cuando se ordenan en orden ascendente.
```{python}
def mediana(a, b, c):
if a < b and b < c or a > b and b > c:
return b
if b < a and a < c or b > a and a > c:
return a
if c < a and b < c or c > a and b > c:
return c
```
```{python}
7, 9, 6)
mediana(```
7
Un segundo modelo que podemos generar es calcular el valor de la mediana de los tres valores usando funciones de mínimo y máximo. Considerando que la mediana es la suma de los valores, menos el más pequeño, menos el más grande
```{python}
def otramediana(a, b, c):
return a + b + c - min(a, b, c) - max(a, b, c)
```
```{python}
7, 9, 6)
otramediana(```
7
Una vez que generamos estos dos modelos, podemos crear una función que contenga a ambos:
```{python}
def terceramediana():
#x = float(input("Ingresa el primer valor: "))
#h = float(input("Ingresa el segundo valor: "))
#d = float(input("Ingresa el tercer valor: "))
= 3.0
x = 10.0
h = 7.5
d
print("La mediana es: ", mediana(x, h, d))
print("Al usar el segundo modelo, la mediana es: ", otramediana(x, h, d))
terceramediana()```
La mediana es: 7.5
Al usar el segundo modelo, la mediana es: 7.5
Decimos que una visualización de datos es exitosa cuando es capaz de comunicar el mensaje correctamente. Para lograr esto, necesitamos tener clara la naturaleza de nuestros datos y las limitaicones y ventajas de cada tipo de gráfico.
Presentan los valores numéricos de datos categóricos, cada uno conectado por una línea.
```{python}
import matplotlib.pyplot as plt
#from matplotlib.ticker import MaxNLocator
#Datos
=[4000,20000,3500,8700,4300]
apple=[19500,3400,2100,7460,9000]
microsoft=[2016,2017,2018,2019,2020]
year
#Gráfica 1
#Line chart
'-g',
plt.plot(year,apple, '-m')
year,microsoft, "Año")
plt.xlabel("Precios")
plt.ylabel("Precios en Apple y Microsoft")
plt.title(
plt.show()```
```{python}
#Scatter plot
plt.scatter(year,apple)
plt.show()```
Además de los scatter y line plots, Matplotlib nos permite usar otro tipo de gráficos que nos sirven para otro tipo de datos.
Son útiles para estudiar la distribución de nuestros datos(datos continuos). Por ejemplo, podemos trazar datos en un histograma cuando queremos ver algunos grupos de edad distribuidos en una población, la precipitación por mes en una ciudad,etc.
```{python}
import numpy as np
8)
np.random.seed(=np.random.binomial(100,.5,10000)
x=20,color="pink")
plt.hist(x,bins
plt.show()```
Son útiles para comparar niveles absolutos de datos discretos. Las variables son independientes entre si.
```{python}
= ['C', 'C++', 'Java', 'Python', 'PHP']
lenguaje = [23,17,35,29,12]
estudiantes ="green")
plt.bar(lenguaje,estudiantes,color
plt.show()```
Resuelve los siguientes ejercicios, ingresa el código correspondiente a cada uno debajo de las instrucciones.
Escribe el código que le permita a un usuario ingresar el largo y ancho de un salón de clases. Una vez que se hayan ingresado y leído los valores, el programa deberá calcular y mostar el área del salón.
Especificaciones:
Tips:
Recuerda que para calcular el área debemos multiplicar el ancho por el largo
Escribe el código de un programa que permita leer una letra del alfabeto del usuario. Por lo que si el usuario ingresa a, e, i, o, u, entonces se deberá mostrar un mensaje que diga que la letra es una vocal.
Si el usuario ingresa la letra y , entonces el programa debe mostrar un mensaje que indique que a veces y es una vocal y en ocasiones una consonante. De lo contrario, el programa debe mostrar un mensaje que indique que la letra es una consonante.