0% encontró este documento útil (0 votos)
6 vistas

Python

El documento describe el lenguaje de programación Python, destacando sus características como ser de alto nivel, multiparadigma y multiplataforma. Se abordan conceptos fundamentales como tipos de datos, operadores, estructuras de control, y ejemplos de implementación, así como ejercicios prácticos para afianzar el aprendizaje. Además, se menciona la importancia de las listas y arreglos para manejar múltiples datos de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas

Python

El documento describe el lenguaje de programación Python, destacando sus características como ser de alto nivel, multiparadigma y multiplataforma. Se abordan conceptos fundamentales como tipos de datos, operadores, estructuras de control, y ejemplos de implementación, así como ejercicios prácticos para afianzar el aprendizaje. Además, se menciona la importancia de las listas y arreglos para manejar múltiples datos de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 83

Lenguaje Python

• Lenguaje de Alto Nivel


• De propósitos generales
• Lenguaje de programación interpretado cuya
filosofía hace hincapié en una sintaxis que
favorezca un código legible.
• Paradigma de Programación:
Multiparadigma: orientado a
objetos, imperativo, funcional.
Características del Lenguaje Python
• Es multiplataforma
• De libre distribución.
• Gracias a su popularidad, existen una gran cantidad
de librerías y funciones ya hechas, que podemos utilizar
gracias a su extensa biblioteca.
• Tiene soporte para múltiple variedad de bases de datos.
Ejemplo de programa en Python.
Palabras Reservadas
Variables

• Cuando declaramos una variable, no es necesario decirle de que


tipos son los datos (si es int, string, float, etc.).
• La variable se adapta a lo que escribimos cuando se ejecuta el
programa.
• Python es fuertemente tipado, por ejemplo, no podrás sumar
números y texto (una variable del tipo int con una de tipos
cadenas) porque daría error.
Tipos de Datos
• Int: Números enteros.
• Ejemplo: Decimal: 24, 60.
• Float: Números de punto flotante ( con decimales).
• Ejemplo: 3.141595
• Complex: Números complejos .
• Ejemplo: 6.32 + 45j
• Bool: Valores booleanos. El tipo booleano es una especie de tipo
numérico que es utilizado para evaluar expresiones lógicas.
• Si la expresión lógica es cierta, el resultado es True (con mayúscula al principio).
• Si la expresión lógica NO es cierta, el resultado es False (con mayúscula al
principio).
• False equivale numéricamente a 0. Cualquier otro número equivale a True y su
valor por defecto es 1.
Tipos de Datos
• Str: Cadenas de caracteres .
• Las cadenas de caracteres son secuencias de
caracteres encerradas entre comillas (" ") o
apóstrofes (' ') indistintamente.
• Ejemplos:
•'Hola Mundo'
•"Vamos al McDonald's"

• None: El tipo None representa un valor "vacio".


Operadores
• Los operadores son signos, símbolos o palabras que
el intérprete de Python identifica dentro de sus
sintaxis para realizar una acción (operación)
específica.
Operadores Aritméticos

Operador Descripción
+ Suma
- Resta
- Negativo
* Multiplicación
** Exponente
/ División
// División entera
% Residuo
Reglas de precedencia en
operaciones aritméticas.
• Los operadores se apegan a la siguiente regla de
precedencia siguiendo una secuencia de izquierda a
derecha:
• Paréntesis.
• Exponente.
• Multiplicación.
• División.
• Suma.
• Sustracción.
• Ejemplos:
• 12 * 5 + 2 / 3 ** 2 = 60,22
• (12 * 5) + (2 / 3) ** 2 = 60,44
Operadores para objetos de tipo str.

Operador Descripción
+ Concatenación
* Repetición

Ejemplos

Entrada: "hola" + "mundo“


Salida: 'holamundo’

Entrada: 'hola'* 3
Salida: 'holaholahola’
Operadores de Relación
• Los operadores de relación evalúan si dos
valores/objetos cumplen con una condición específica. El
resultado de esta evaluación es de tipo bool.
Operador Evalúa
== a == b ¿a igual a b?
!= a != b ¿a distinta de b?
> a > b ¿a mayor que b?
< a < b ¿a menor que b?
>= a >= b ¿a mayor o igual que b?
<= a <= b ¿a menor o igual que b?

Ejemplos

Entrada: "hola" == 'hola’


Salida: True
Operadores Lógicos
• Estos operadores permiten la realización de las
siguientes operaciones lógicas. Por lo general se
realizan con objetos de tipo bool, pero Python
también permite operaciones lógicas con otros
tipos de datos.
Operador Evalúa
or a or b ¿Se cumple a o b?
and a and b ¿Se cumple a y b?
not not x Contrario a x

Ejemplo

Entrada: 15 > 3 and 15 <= 20


Salida: True
Operadores de pertenencia.
• Los operadores in y not in evalúan si un objeto se
encuentra dentro de otro.
Ejemplos:

Entrada: 'a' in 'Hola'

Salida: True

Entrada: ‘la’ not in 'Hola'


Salida: False
Operadores de Asignación.
Operador Descripción Ejemplo
= Asignación simple x=y
+= Suma x += y equivale a x = x + y
-= Resta x -= y equivale a x = x - y
*= Multiplicación x *= y equivale a x = x * y
**= Exponente x ** = y equivale a x = x ** y
/= División x /= y equivale a x = x / y
//= División entera x //= y equivale a x = x // y
%= Residuo de división x %= y equivale a x = x % y
Funciones relativas a tipos de
datos.
• type(): Regresa el tipo de dato de una variable.
• Entrada: type("Hola")
• Salida: str
• Entrada: type(12)
• Salida: int
• str(): Transforma a un objeto compatible en una cadena de
caracteres.
• Entrada: str(12 + 3.5)
• Salida: '(12+3.5)'
Funciones relativas a tipos de
datos.
• int(): Transforma un objeto compatible a un objeto tipo int.
Puede convertir objetos de tipo str que representen
correctamente a un número entero.
Trunca los objetos de tipo float a la parte entera.
True es convertido en 1 y False en 0.
No es compatible con objetos tipo complex.
• Entrada: int(True)
• Salida: 1
• Entrada: int(“-12.3”)
• Salida: -12
Funciones relativas a tipos de
datos.
• float(): Transforma un objeto compatible a un objeto
tipo float.
Puede convertir objetos de tipo str que contengan representen
correctamente a un número real.
Es compatible con los objetos tipo int.
True es convertido en 1.0 y False en 0.0.
No es compatible con objetos tipo complex.
• Entrada: float(False)
• Salida: 0.0
• Entrada: float(“-12.6”)
• Salida: -12.6
Números en Python
• Los números enteros (por ejemplo 2, 4, 20) son de tipo
int, aquellos con una parte fraccional (por ejemplo 5.0,
1.6) son de tipo float.
• La división (/) siempre retorna un punto flotante. Para
hacer una división y obtener un resultado entero
(descartando cualquier resultado fraccional) usar el
operador //.
• Para calcular el resto usar %:
Ejercicios

• Realizar un programa en Python que imprima un mensaje de


saludo:
• Ejemplo: “Hola Mundo”

• Realizar un programa que calcule el área de un triángulo.


23
Ejercicios

#área de un triángulo
print ("***calculo del área de un triangulo***")
base=6
altura=2
calculo=(base*altura)/2
print ("La base es:", base, "La altura es: ", altura)
print ("El resultado del área es :", calculo)
Ejercicios (para pensar en casa)
• Diseña un programa que a partir del valor del lado de un cuadrado,
muestre el valor de su perímetro y el de su área.
Ejemplos de implementación en Python(1)
Ejemplos de implementación en Python(2)

Ejecución:
Ejemplos de implementación en Python(3)
Ejemplos de implementación en Python(4)
Ejemplo 1: modelo Entrada-Salida-Proceso

Datos: Datos:
APP CALCULO
- Notas (números reales) Entradas Salidas - Nota final curso (numero y
- Pesos de solemnes Nota final mensaje)

Algoritmo e instrucciones:
- Mostrar mensaje tipo programa
- Recibir datos de entrada
- Hacer calculo
- Mostrar nota final
- Enviar mensaje según condición de
aprobación X>=4
Solución: Inicio

Diagrama Flujo Mostrar tipo


Programa

Ingresar notas

Ingresar Pesos notas

Calculo de nota

Mostrar nota
final

F V
Reprobado Nota>=4 Aprobado

Fin
Solución: Código Python
print ("PROGRAMA CALCULO NOTA FINAL")
nota1 = int (input("“Ingrese nota 1:”"))
nota2 = int (input("“Ingrese nota 2:”"))
Peso1 = int (input("“Peso nota 1:”"))
Peso2 = int (input("“Peso nota 2:”"))
Nota_final=(nota1*Peso1)+(nota2*peso2)
print("“La nota final es:”", str(Nota_final))
if (Nota_final >= 4):
print("“APROBADO”")
else:
print("“REPROBADO”")
Ejemplo condicionales ANIDADOS
CODIGO
PYTHON
Estructura Cíclicas e iterativas

• Iteración significa repetir varias veces un


proceso con la intención de alcanzar una
meta deseada, objetivo o resultado. Cada
repetición del proceso también se le
denomina una "iteración", y los resultados
de una iteración se utilizan como punto de
partida para la siguiente iteración
Estructura Cíclica While(1)
Aplicación: Código Python (While y Menú)
Opcion menú App saludo
entrar=0 despedida
Seguir o salir app
while(entrar==0):
print (“PROGRAMA CICLICO Y CON MENU”)
print (“mostrar menú 1: bienvenida, 2. despedida)
opcion = input(“Ingrese opción elegida:”)
if (opción == 1):
print(“OPCION BIENVENIDA”)
entrar = input(“quiere seguir presiona 0, quiere salir presiona 1:”)
If (opción ==2):
print(“OPCION DESPEDIDA”)
entrar = input (“quiere seguir presiona 0, quiere salir presiona 1:”)
Ejercicios Resueltos (2)
Estructura Cíclica FOR(2)
Un bucle for es un bucle que repite el bloque de instrucciones un número predeterminado
de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada
repetición se suele llamar iteración . La sintaxis de un bucle for es la siguiente

contador=0
for contador in range (8):
print (contador)
For… in
Para definir rangos numéricos se usa la función range
• range n, m, s cumple: rango >= n and rango < m en incrementos de s.
• range n, m cumple: rango >= n and rango < m en incrementos de 1.
• range m cumple: rango >= 0 and rango < m en incrementos de 1.

for contador in rango (5, 9): for contador in rango (3,11,2): for contador in rango (16,10, 4):
print(contador) print(contador) print(contador)
print() print() print()
Ejemplos FOR

salida
Arreglos, Matrices Y Cadenas De Texto
Arreglos
Antes de comenzar, pensemos en un programa que nos permita
guardar la edad de todos los estudiantes de la Facultad de Ingeniería.
… Complicado

Cuando necesitamos manejar muchos datos, generalmente hay


soluciones más efectivas que tener muchas variables.

• En el ejemplo, si hay que guardar 100 números (edades), suele ser más
eficiente almacenar esos 100 datos "juntos", formando un ”arreglo", en
vez de usar 100 variables distintas.
Listas (Arreglos) y FOR
Lista o arreglos 1D (Una dimensión) Lista o arreglos 2D (Dos dimensiones)

Índice de la lista[2], posición 2


Elemento almacenado en la lista en el índice [1]
Lista o arreglos 3D (Tres dimensiones)
Nombre del arreglo o lista
• La palabra ”Arreglo" es una traducción del inglés "array". Algunos
autores lo traducen alternativamente como tabla, vector o incluso
”Matriz".
• Normalmente, en un arreglo podremos acceder individualmente a cada
uno de sus elementos usando corchetes: el primer dato sería algo como
"datos[0]", y el último de 10 elementos sería "datos[9]".
• Vamos a ver un ejemplo de un arreglo con 6 elementos, nos pide 6
datos y luego los muestre en orden contrario al que se han introducido:
Acá se le asigna un valor ingresado por el usuario
Acá se declaro el al arreglo en la posición (i-1) esto porque i parte
arreglo e inicializa con en 1, y recordemos la primera posición de un
ceros en cada posición arreglo es la cero .

Con esto sólo imprime el valor guardado en la


posición “i-1” del arreglo llamado “datos”.
• Si recordamos el ejemplo anterior, el arreglo llamado “datos” era
inicializado con ceros en todas sus posiciones, esto no es siempre
necesario.
• En Python los arreglos pueden ir aumentando de tamaño (comparado
con otros lenguajes de programación, en este sentido se parecen más a
lo que en muchos lenguajes de programación se conoce como
"listas").
• Así, podemos partir de un arreglo vacío e ir añadiendo elementos con
".append” según sea necesario:
Nota Importante…

• No podemos crear el array vacío con "datos = []" y luego dar valor
a un elemento con "datos[0]=5", porque obtendríamos un mensaje
de error que nos avisa de que nos hemos salido del rango de los
datos.
• Deberemos reservar todas las posiciones (como en el primer
ejemplo) o bien usar ".append" (como en el segundo).
• También podemos saber la cantidad de datos con "len(datos)",
eliminar un elemento con ".remove", insertar en una cierta
posición con ".insert", o añadir toda una nueva lista de datos con
"+":
Un ejemplo:

Remover un valor “x” de los datos


(en este caso es “6”).

Determinar el largo de un arreglo

Insertar un 23 en la posición 1

Añadir una nueva lista


Cuyo resultado sería

Primero muestra la lista de datos


Remover el valor “6”
Reemplazar por -2 en la posición “0”

Insertar un 23 en la posición 1

Añadir una nueva lista al final


• Si un arreglo va a contener muchos más datos, puede resultar
incómodo eso de dar los valores iniciales uno por uno, y quizá
no podamos emplear ".append" si los valores no los vamos a
recibir exactamente en orden. En ese caso, se puede inicializar
el arreglo usando una orden "for" dentro de los corchetes, así:
• Una forma más avanzada de crear un “falso” arreglo vacío,
para luego irlo rellenando, es usar unas llaves vacías, como
en "datos = { }", aunque esto tiene un significado
ligeramente distinto (estaríamos creando un "diccionario",
como veremos más adelante):
Ejemplos Básicos
• Calcular el promedio de “n” alumnos:
Comandos Básicos manejo listas en Python
Funciones disponibles para Listas
Matrices
Arreglos, Matrices Y Cadenas De Texto
Matrices
Una matriz corresponde a un arreglo pero de dos dimensiones.
(podríamos imaginarla como una lista de listas).
Arreglos, Matrices Y Cadenas De Texto
De este modo, para crear una matriz de dos dimensiones, la
alternativa más sencilla es indicar todos los valores iniciales,
incluso aunque fueran cero (pero pueden no serlo) todos ellos:

(incluso podrían ser de tipos de datos distintos)


Arreglos, Matrices Y Cadenas De Texto

Pueden crear la
matriz rellenándola
de forma repetitiva

Sólo para mostrar que se puede


modificar en todo momento, cambia a Rellena con “0” (ceros) una
5 el valor de la posición (0,2) matriz de 4 por 5
Llenar Listas 1D por teclado

Llenar Listas 2D con números


aleatorios

Llenar Listas 2D por teclado


Ejercicios propuestos:

• Crea un programa que pida al usuario 10 números enteros y luego muestre los que eran
pares, todos ellos en la misma línea separados por un espacio en blanco.
• Crea un programa que pida al usuario 10 números enteros, los guarde en un arreglo y luego
le pregunte de forma repetitiva qué número quiere buscar. Le responderá si dicho número
estaba o no entre los datos que se habían introducido inicialmente. Dejará de repetirse
cuando se introduzca el número 0.
• Crea una variante del programa anterior que no sólo diga si el número
estaba o no, sino que informe de cuántas veces se ha encontrado.
• Crea un programa que pida al usuario las componentes de dos vectores de 3 elementos.
Después debe mostrar el módulo de cada uno de los vectores, así como su producto escalar.
• Crea un programa que pida al usuario 5 números reales, los guarde en un arreglo y luego
muestre el menor de todos ellos (Pista: para calcular el mínimo de una serie de datos
deberemos partir de un valor inicial e irlo comparando con todos los de la lista; si el valor
actual es menor que el mínimo, pasará a ser nuestro nuevo mínimo; en cuanto a ese "valor
inicial”).
• Crea un programa que pida al usuario 5 números reales y luego muestre el menor de todos
ellos (pero sin almacenar todos los valores).
Ejemplo Medio
• Crear un juego que permita llenar un tablero de 4 casillas con números aleatorios y un jugador con los
ojos vendados pueda adivinar en alguna casilla la existencia de Unos “1”. Solo puede realizar cinco
intentos y si posee dos errores, pierde

ENTRADA: SALIDA:
- Números aleatorios, - Tres aciertos GANASTE
- Posición del tablero - Dos errores PEDISTE
donde hay unos APP JUEGO
Solución Python
Otro Ejemplo
• Crear una aplicación que permita almacenar los nombres de dos
empleados y sus respectivas ventas del día y se pueda determinar
cual es la venta máxima entre ambos empleados
ENTRADA: SALIDA:
- Nombre Empleados - Venta maxima
- Ventas de día
APP VENTAS EMPLEADOS
Solución
Diccionarios
Ejemplos básicos de diccionarios
Otro ejemplo de Diccionarios
Funciones disponibles para diccionarios
Archivos en
python
Programación
ARCHIVOS

• Un archivo permite guardar información de manera


perduradera en el computador. Los tipos de archivos más
usados son los binarios y de texto.
• Los binarios son tratados byte por byte, los archivos de
texto puede ser tratados por líneas.
• Cada elemento dentro del archivo tiene una posicion
específica.
Archivos

• <nombre> = open(<ruta del archivo>, <modo>)


• La función open permite al archivo:
• Crear
• Sobreescribir
• Leer
• Desplazarse

Sobre archivos binarios y de texto.


Archivos
• <nombre> = open(<ruta del archivo>, <modo>)

'b’ indica archivo binario.


'r’ indica modo de lectura.
'w’ indica modo escritura. Si existe, lo sobreescribe.
'a’ indica modo de escritura. Si existe, agrega al final.
Archivos

• Métodos que se pueden utilizar en archivos de texto y


binarios.
• writable(). Indica si el archivo esta en modo escritura.
• readable(). Indica si el archivo esta en modo lectura.
• seekable(). Indica si podemos desplazarnos dentro del archivo.

Todas ellas devuelven true en caso de cumplirse.


Archivos

• Métodos que se pueden utilizar en archivos de texto y


binarios.
• write(). Escribe en el archivo.

• close(). Permite cerrar un archivo. Cada archivo debe


cerrarse cuando se deje de usar para evitar que se pueda
dañar la información que contiene.
Archivos
• Métodos para archivos de texto.
• readline(). Lee por línea. El final de línea es (\n).
• readlines(). Crea un objeto tuple que contiene cada línea.
• writelines(). Escribe el texto

• Escribirá el texto contenido dentro de un elemento de


tipo list.
Escritura y lectura de archivos
de texto en python

Las guardo
en una lista
Escritura y lectura de archivos de texto
en python.. Continuación de ejemplo
Escritura y lectura de archivos de texto
en python.. Continuación de ejemplo

También podría gustarte