Curso Python
Curso Python
Módulo 1
● Fundamentos de programación.
● Lógica de programación
● Compilación vs. interpretación.
● Introducción a Python.
Ejemplo 1. Imagina que quieres saber la velocidad promedio que has alcanzado durante un
largo viaje. Sabes la distancia, sabes el tiempo, necesitas la velocidad. Naturalmente, la
computadora podrá calcular esto, pero la computadora no es consciente de cosas como la
distancia, la velocidad o el tiempo. Por lo tanto, es necesario instruir a la computadora para que:
Estas cuatro acciones simples forman un programa. Por supuesto, estos ejemplos no están
formalizados, y están muy lejos de lo que la computadora puede entender, pero son lo
suficientemente buenos como para traducirlos a un idioma que la computadora pueda aceptar.
La palabra clave es el lenguaje.
Las computadoras también tienen su propio lenguaje, llamado lenguaje máquina, el cual es muy
rudimentario.
Los comandos que reconoce son muy simples. Podemos imaginar que la computadora
responde a órdenes como "Toma ese número, divídelo por otro y guarda el resultado".
Lógica de programación.
Cuando te vistes por la mañana. 1. Te despiertas. 2. Te lavas la cara. 3. Escoges la ropa que te
vas a poner. 4. Escoges los zapatos. 5. Te quitas la pijama. 6. Te pones el pantalón. 7. Te pones
la playera. 8. Te pones las calcetas 9. Luego los zapatos. 10.Listo.
● Presentar un examen
● Pedir empleo
● Ligar
● Realizar una regresión lineal
Diagrama de flujo Es la representación gráfica de un algoritmo. Conforma un conjunto de
componentes que permiten representar acciones, decisiones y cálculos con los cuales se
soluciona un problema determinado. Cuando el diagrama de flujo está correctamente diseñado,
la concepción de un programa en un lenguaje de programación, es fácilmente codificable.
Tipos de datos. Cuando programamos debemos tener en cuenta que todo debe ser
especificado, de modo que si las computadoras nos ayudan a procesar la información, debemos
indicarle de forma precisa con qué tipo de datos es con los que vamos a trabajar. Tenemos en
programación 3 tipos de datos principalmente: entero, flotante y caracter.
Los enteros son datos numéricos del menos infinito al infinito positivo con valores enteros. Los
flotantes son datos numéricos del menos infinito al infinito positivo con valores decimales. Y los
caracteres son datos de tipo texto.
Un compilador genera un programa “stand-alone” es decir que tiene sentido y se puede ejecutar
por sí solo, mientras que un programa interpretado siempre necesita su intérprete
correspondiente para poder ejecutarse.
Por lo tanto, es más fácil distribuir un programa compilado. El problema es que sólo podrás
ejecutarlo en la plataforma para la que se ha compilado. Cada sistema operativo (y cada familia
de procesadores) necesita una versión compilada diferente. Por ejemplo, un programa C++
podría ejecutarse en un ordenador con un procesador x86 pero no en uno con ARM. O podría
funcionar en Linux pero no en Windows.
Supongamos una vez más que has escrito un programa. Ahora, existe como un archivo de
computadora: un programa de computadora es en realidad una pieza de texto, por lo que el
código fuente generalmente se coloca en archivos de texto. Nota: debe ser texto puro, sin
ninguna decoración, como diferentes fuentes, colores, imágenes incrustadas u otros medios.
Ahora tienes que invocar al intérprete y dejar que lea el archivo fuente.
El intérprete lee el código fuente de una manera que es común en la cultura occidental: de arriba
hacia abajo y de izquierda a derecha. Hay algunas excepciones: se cubrirán más adelante en el
curso.
En primer lugar, el intérprete verifica si todas las líneas subsiguientes son correctas (utilizando
los cuatro aspectos tratados anteriormente).
● Python es un lenguaje interpretado. Esto significa que hereda todas las ventajas y
desventajas descritas. Por supuesto, agrega algunas de sus características únicas a
ambos conjuntos.
● Si deseas programar en Python, necesitarás el intérprete de Python. No podrás ejecutar
tu código sin él. Afortunadamente, Python es gratis. Esta es una de sus ventajas más
importantes.
Python 3 es la versión más nueva (para ser más precisos, la actual) del lenguaje. Está
atravesando su propio camino de evolución, creando sus propios estándares y hábitos.
Estas dos versiones de Python no son compatibles entre sí. Las secuencias de comandos de
Python 2 no se ejecutarán en un entorno de Python 3 y viceversa, por lo que si deseas que un
intérprete de Python 3 ejecute el código Python 2 anterior, la única solución posible es volver a
escribirlo, no desde cero, por supuesto. Como grandes partes del código pueden permanecer
intactas, tienes que revisar todo el código para encontrar todas las incompatibilidades posibles.
Una vez instalado ejecutar el IDLE. Para escribir un programa el primer paso es crear un nuevo
archivo fuente y llenarlo con el código. Haz clic en File en el menú del IDLE y elige New File.
Generando con ello una ventana de editor sin nombre (nombrala) cuyo único propósito es un
lugar de trabajo para escribir el código fuente. Una vez escrito el código basta con presionar f5
para ejecutarlo.
Módulo 2
● Funciones
● Operadores
● Variables
Funciones en Python
Una función (en este contexto) es una parte separada del código de computadora el cual es
capaz de:
● Causar algún efecto (por ejemplo, enviar texto a la terminal, crear un archivo, dibujar una
imagen, reproducir un sonido, etc.); esto es algo completamente inaudito en el mundo de
las matemáticas.
● Evaluar un valor o algunos valores (por ejemplo, la raíz cuadrada de un valor o la
longitud de un texto dado); esto es lo que hace que las funciones de Python sean
parientes de los conceptos matemáticos.
Se compone por el nombre de la función y dos paréntesis dentro de los cuales se colocan los
argumentos.
Una de las funciones más sencillas de python es print(). La cual puede recibir como argumento
texto pero también otras funciones, cálculos etc. Los textos deben encontrarse dentro de
comillas.
Si se coloca una \n dentro del texto se genera un salto de línea al igual que si se establece un
print() sin argumentos. La barra invertida sirve para avisar que el caracter siguiente tiene un
significado especial, en este caso (n=new line).
Existen elementos llamados palabras clave que generan diferentes efectos dentro de la función
print. En el caso de end, elimina el salto de línea y puede o no generar un espacio si es que se
deja dentro de las comillas así como agregar cualquier elemento que se coloque en las
comillas..
Ejemplo:
La palabra clave sep puede sustituir las separaciones automáticas de print y agregar cualquier
elemento entre las palabras, en este caso un guión medio.
Existe una diferencia entre caracteres y números. Los números no pueden llevar ningún carácter
para ser escrito excepto por el guión bajo 11_111_111
Función input. La función input() es capaz de leer datos que fueron introducidos por el usuario
y pasar esos datos al programa en ejecución.
● El programa solicita al usuario que inserte algún dato desde la consola (seguramente
utilizando el teclado, aunque también es posible introducir datos utilizando la voz o
alguna imagen).
● La función input() es invocada sin argumentos (es la manera mas sencilla de utilizar la
función); la función pondrá la consola en modo de entrada; aparecerá un cursor que
parpadea, y podrás introducir datos con el teclado, al terminar presiona la tecla Enter;
todos los datos introducidos serán enviados al programa a través del resultado de la
función.
● Nota: el resultado debe ser asignado a una variable; esto es crucial, si no se hace los
datos introducidos se perderán.
Ejercicio:
Un operador es un símbolo que permite realizar una operación con números o con datos que se
encuentran almacenados en las variables y constantes. En programación tenemos distintos tipos
de operadores: aritméticos, relacionales y lógicos.
Operadores aritméticos. Se utilizan para realizar operaciones aritméticas entre datos de tipo
entero o real, su resultado es de tipo numérico. Los operadores aritm ́eticos son los siguientes:
● + Suma
● - Resta
● * Multiplicación o producto
● / División
● % Módulo o residuo de la división
● ˆ Potenciación se escribe con doble asterisco **
● // Realiza una división dando por resultado solo la parte entera
Los operadores los podemos usar dentro de funciones o fuera de ellos. Para poder apreciar los
resultados de operadores aritméticos los usaremos dentro de la función print:
También se puede para sumas de positivos con positivos o entre negativos. Recordar que las
computadoras están diseñadas para llevar a cabo operaciones aritméticas bajo la jerarquía de
operaciones.
Ejercicio
Ejercicio
Capturar la hora de inicio de un evento x y la duración del mismo. El programa arrojará la hora
en que finaliza el mismo.
Se usa un solo igual (=) para realizar asignación de valores en variables o constantes. Se utiliza
doble igual (==) para realizar comparaciones entre dos operandos.
Ejemplo. Validar de entre un conjunto de operaciones aritméticas comparativas entre los
resultados mediante los operadores relacionales.
Operadores lógicos. Estos operadores se utilizan para crear expresiones lógicas o booleanas
cuyo resultado es de tipo lógico: Verdadero o Falso. Los operadores lógicos son los siguientes:
● Y Conjunción.
● O Disyunción.
● NO Negación.
Estos operadores funcionan con datos de tipo lógico; para obtener el resultado de la aplicación
de estos operadores, es indispensable conocer cómo funcionan las tablas de verdad de cada
uno de ellos.
Variables
El nombre de las variables no pueden ser igual a alguna de las palabras reservadas de Python
(se explicará más de esto pronto).
Son llamadas palabras clave o (mejor dicho) palabras reservadas. Son reservadas porque no se
deben utilizar como nombres: ni para variables, ni para funciones, ni para cualquier otra cosa
que se desee crear.
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', 'yield']
La creación (o su sintaxis) es muy simple: solo utiliza el nombre de la variable deseada, después
el signo de igual (=) y el valor que se desea colocar dentro de la variable.
Quizá en algún momento será necesario poner algunas palabras en el código dirigidas no a
Python, sino a las personas quienes estén leyendo el código con el fin de explicarles cómo es
que funciona, o tal vez especificar el significado de las variables, también para documentar
quién es el autor del programa y en qué fecha fue escrito.
En Python, un comentario es un texto que comienza con el símbolo # y se extiende hasta el final
de la línea.Si se desea colocar un comentario que abarca varias líneas, se debe colocar este
símbolo en cada línea. En algunos casos se utiliza para ocultar líneas de código que aún se
están probando.
Tarea
1. Elaborar programa que recibe nombre de usuario y año de nacimiento y calcula la edad
del mismo.
2. Solución al ejercicio de las horas del evento
Tabla de prioridades:
Módulo 4
● Operador condicional If
● Ciclos while
● Ciclo for
Operador condicional if
Ejem:
En donde si el contador de ovejas es mayor o igual a 120 entonces se hará la cama, tomará
ducha y dormir, independientemente de la condición, los perros siempre se alimentan
Ejem:
if condición_true_or_false:
ejecuta_si_condición_true
else:
ejecuta_si_condición_false
If anidados
if climaEsBueno:
if encontramosBuenRestaurante:
almorzar()
else:
comerSandwich()
else:
if hayBoletosDisponibles:
irAlCine()
else:
irDeCompras()
Operador ELIF
Se usa para verificar más de una condición, y para detener cuando se encuentra la primera
declaración verdadera.
Nuestro siguiente ejemplo se parece a la anidación, pero las similitudes son muy leves.
Nuevamente, cambiaremos nuestros planes y los expresaremos de la siguiente manera: si hay
buen clima, saldremos a caminar, de lo contrario, si obtenemos entradas, iremos al cine, de lo
contrario, si hay mesas libres en el restaurante, vamos a almorzar; si todo falla, regresaremos a
casa y jugamos ajedrez.
if climaBueno:
iraCaminar()
elif hayBoletosDisponibles:
IralCine()
elif mesasLibres:
almorzar()
else:
jugarAjedrezEnCasa()
Ejercicio.- Recibir del usuario 3 números e imprimir en pantalla el más grande de ellos.
Utilizando las funciones if… también podríamos usar max() o min().
Nota: Este país feliz nunca devuelve dinero a sus ciudadanos. Si el impuesto calculado es
menor que cero, solo significa que no hay impuesto (el impuesto es igual a cero). Ten esto en
cuenta durante tus cálculos.
(respuesta)
Ciclo while. Realiza cierta instrucción o conjunto de instrucciones mientras la condición se siga
cumpliendo.
while expresión_condicional:
instrucción
Ejercicio: Realizar un contador que imprima en pantalla de forma descendente los numero del
100 al 0 mediante while.
Solución
contador = 100
while contador != 0:
print("Dentro del ciclo: ", contador)
contador -= 1
print("Fuera del ciclo", contador)
Ejercicio: Programa que arroja el número más grande de un conjunto de números introducidos
Ejercicio: Recibe n cantidad de números y el programa deberá contarlos los que sean nones y
los que sean pares. Solución:
numerosImpares = 0
numerosPares = 0
# lee el primer número
numero = int (input ("Introduce un número o escriba 0 para detener:"))
# 0 termina la ejecución
while numero != 0:
# verificar si el número es impar
if numero % 2 == 1:
# aumentar el contador de números impares
numerosImpares += 1
else:
# aumentar el contador de números pares
numerosPares += 1
# lee el siguiente número
numero = int (input ("Introduce un número o escriba 0 para
detener:"))
# imprimir resultados
print("Números impares: ", numerosImpares)
print("Números pares: ", numerosPares)
Ejercicio. Desarrolla un programa en el cual se tenga un número clave entre 0 y 99 y se solicite
al usuario que adivine el número clave para poder salir del programa.
Solución:
numeroSecreto = 77
print(
"""
+==================================+
| Bienvenido a mi juego! |
| Introduce un número entero, entre 0 y 99 |
| y adivina qué número he |
| elegido para ti. |
| Entonces, |
| ¿Cuál es el número secreto? |
+==================================+
""")
num=int(input("Dame el numero "))
while num!=numeroSecreto:
print("No es el numero")
num=int(input("Dame otro numero "))
print("Si es el numero: ", num)
Ejercicios
Ciclos for. El comando for sirve para realizar un conjunto de instrucciones dentro de un rango
de veces determinado. La estructura es la siguiente:
for i in range(10):
print("El valor de i es actualmente", i)
La función range puede llevar 2 términos para indicar un intervalo, en donde el parámetro de
parada no está incluido en la secuencia de números...
for i in range(0,10):
print("El valor de i es actualmente", i)
La función range puede agregar un tercer término, en donde el tercer elemento indica el
incremento, que si no estuviera el valor predeterminado para el incremento es de 1.
Ejem. Contador mediante el uso de for y la función time.sleep que pausa el programa por n
segundos:
import time
for i in range(1,6):
print(i, " Mississipi")
time.sleep(1)
print("Listo el contador hasta 5!")
Break: Sale del ciclo inmediatamente, e incondicionalmente termina la operación del ciclo; el
programa comienza a ejecutar la instrucción más cercana después del cuerpo del ciclo.
Ejercicios
1. Crea un bucle for que cuente de 0 a 10, e imprima números impares en la pantalla.
2. Crea un bucle while que cuente de 0 a 10, e imprima números impares en la pantalla.
Usa el esqueleto de abajo:
x = 1
while x < 11:
if x % 2 != 0:
print(x)
x += 1
Tarea
Listas
Son variables capaces de almacenar n cantidad de datos (escalares), estos datos pueden ser
números enteros, flotantes y otras listas. Dentro de una lista se les asigna una posición a los
datos siendo el primero en la posición cero. Ejem:
numeros = [10, 5, 7, 2, 1]
print("Contenido de la lista:", numeros) # imprimiendo contenido de la
lista original.
3143
Proyecto final
Elaborar un programa que reciba del usuario los exponentes y el coeficiente de una función de
utilidad tipo cobb duglas, valide que la suma de ellos de 1 y que el coeficiente sea positivo,
reciba los precios de los bienes (x1,x2), y el presupuesto total (m). Pueda calcular los valores de
utilidad para ciertas cestas de consumo y valide que no sobrepase el presupuesto total. Calcule
la cantidad de bienes consumidos que genere la máxima utilidad y calcular dicho valor de
utilidad.