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

Resumen y Ejercitacion Python

El documento describe las palabras reservadas, tipos de datos y operadores de Python. Explica que las palabras reservadas son términos especiales que no pueden usarse como nombres de variables u otras cosas, y lista 35 palabras reservadas como False, None, True, and, as, assert y otras. También describe los principales tipos de datos como enteros, flotantes, cadenas, booleanos, listas y diccionarios, y los operadores matemáticos y lógicos más comunes. Por último, explica conceptos como variables, comentarios, sentencias if, bucles for y while.
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)
102 vistas

Resumen y Ejercitacion Python

El documento describe las palabras reservadas, tipos de datos y operadores de Python. Explica que las palabras reservadas son términos especiales que no pueden usarse como nombres de variables u otras cosas, y lista 35 palabras reservadas como False, None, True, and, as, assert y otras. También describe los principales tipos de datos como enteros, flotantes, cadenas, booleanos, listas y diccionarios, y los operadores matemáticos y lógicos más comunes. Por último, explica conceptos como variables, comentarios, sentencias if, bucles for y while.
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/ 19

Python

Palabras reservadas de python:

No es necesario aprenderlas pero la mayoría de estas pueden ser muy útiles

1. False – Valor booleano, resultado de operaciones de comparación u operaciones


lógicas en Python
2. None – Representa a un valor nulo
3. True – Valor booleano, igual que false, resultado de operaciones de comparación u
operaciones lógicas en Python
4. And – Operador lógico
5. As – Se utiliza para crear un alias al importar un módulo.
6. Assert – Se utiliza con fines de depuración
7. Async – Proporcionada por la biblioteca ‘asyncio’ en Python. Se utiliza para escribir
código concurrente en Python
8. Await – Proporcionada por la biblioteca ‘asyncio’ en Python. Se utiliza para escribir
código concurrente en Python
9. Break – Se utiliza en el interior de los bucles for y while para alterar su comportamiento
normal
10. Class – Se usa para definir una nueva clase definida por el usuario
11. Continue – Se utiliza en el interior de los bucles for y while para alterar su
comportamiento normal
12. Def – Se usa para definir una función definida por el usuario
13. Del – Para eliminar un objeto
14. Elif – Se usa en declaraciones condicionales, igual ‘else’ e ‘if’
15. Else – Se usa en declaraciones condicionales, igual ‘elif’ e ‘if’
16. Except – Se usa para crear excepciones, qué hacer cuando ocurre una excepción,
igual que ‘raise’ y ‘try’
17. Finally – Su uso garantiza que el bloque de código dentro de él se ejecute incluso si
hay una excepción no controlada
18. For – Utilizado para hacer bucles. Generalmente lo usamos cuando sabemos la
cantidad de veces que queremos que se ejecute ese bucle
19. From – Para importar partes específicas de un módulo
20. Global – Para declarar una variable global.
21. If – Se usa en declaraciones condicionales, igual ‘else’ y ‘elif’
22. Import – Para importar un módulo
23. In – Para comprobar si un valor está presente en una lista, tupla, etc. Devuelve True si
el valor está presente, de lo contrario devuelve False
24. Is – Se usa para probar si las dos variables se refieren al mismo objeto. Devuelve True
si los objetos son idénticos y False si no
25. Lambda – Para crear una función anónima
26. Nonlocal – Para declarar una variable no local
27. Not – Operador lógico
28. Or – Operador lógico
29. Pass – Es una declaración nula en Python. No pasa nada cuando se ejecuta. Se utiliza
como marcador de posición.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


30. Raise – Se usa para crear excepciones, qué hacer cuando ocurre una excepción, igual
que ‘except y ‘try’
31. Return – Se usa dentro de una función para salir y devolver un valor.
32. Try – Se usa para crear excepciones, qué hacer cuando ocurre una excepción, igual
que ‘raise’ y ‘except
33. While – Se usa para realizar bucles.
34. With – Se usa para simplificar el manejo de excepciones
35. Yield – Se usa dentro de una función al igual que ‘return’, salvo que ‘yield’ devuelve un
generador.

Tipos de datos:

● Numéricos Enteros: Números enteros, es decir, que no contienen parte decimal y


además pueden ser negativos, como por ejemplo: 1, 56, 1734, -1654, etc. De ser
necesario especificar que es un entero, se pone int().
● Numéricos Flotantes: Números positivos o negativos que sí poseen parte decimal, por
ejemplo: 3,14; -5,3; 6,4; -7,8; etc. Si hay que especificar que es un entero, se pone
float().
● Números Complejos: Números que poseen una parte real y una imaginaria, pueden
ponerse como 3 + 5j y si hay que especificar se utiliza complex().
● Cadenas: Sucesión de caracteres, como una palabra cualquiera. Si hay que especificar
se pone str().
● Booleanos: Valores que solo pueden tomar el valor de True o False. De ser necesario
se especifica con bool()
● Listas: Conjunto de valores que pueden ser modificados y agregar más. Se ponen
entre [corchetes]. Se especifica con list()
● Tuplas: conjunto de valores que no puede ser modificado. Se pone entre (paréntesis).
Se especifica con tuple()
● Diccionarios: estructura de datos con características especiales

Comentarios:

No modifican nada en el programa, solo es útil para aclarar cosas o escribir sin necesidad de
ejecutar o causar un error. Se ponen con un # adelante de lo que se va a escribir

#--------------------------Esto es un comentario----------------------------

Variables:

Pueden tener un valor constante o variar. Los valores que puede adquirir pueden cambiar a lo
largo del programa y pueden ser valores de cualquier tipo de dato.

variable1 = 123
variable2 = “esto es una variable”
variable3 = [1,2,3,4,5]
variable4 = (1,2,3,4,5)
variable5 = false
variable6 = {1:perro,2:gato,3:caballo,4:vaca,5:gallina}

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Operadores matemáticos:

● Suma: (+) ● Producto entero:(//)


● Resta:(-) ● Exponente:(**)
● Multiplicación:(*) ● Módulo:(%) devuelve el resto de la
● División:(/) división hasta llegar a ‘1’ o ‘0’

Dato: una raíz en python se pone como exponente 1 ⁄ 2. por ejemplo 4**1(/2)

Operadores lógicos:

● Mayor que:(>) ● Distinto a:(!=)


● Menor que:(<) ● Mayor o igual que:(>=)
● Igual a:(==) ● Menor o igual que:(<=)

Sentencia if:

Sentencia condicional que ejecuta una acción siempre que esta sea verdadera(true). De lo
contrario pasa a una sentencia de tipo else(si solo hay 2 casos) o una sentencia elif y else (si
hay más de dos casos, termina con una sentencia else y todo lo del medio es una sentencia
elif).

Si la sentencia no está definida, el programa simplemente no hace nada. La acción que se


ejecuta inmediatamente luego de la sentencia If, Else o Elif, debe comenzar si o si con una
sangría.

Supongamos que queremos utilizar muchas sentencias If, pero que queremos que todo se
imprima en la pantalla. pues no son casos distintos, sino temas distintos. En este caso
optamos por separar cada tema individualmente con su sentencia If y no agregar muchas
sentencias elif.

Esto porque en una sentencia condicional con elif, el programa analizará la situación desde la
primera afirmación hasta la última en busca de una sentencia True. Cuando la encuentra todo
el resto de sentencias no se ejecutan.

x = int(input("Elija un número del 1 al 3: "))


if x == 1:
print("perro\n")
elif x == 2:
print("gato\n")
elif x == 3:
print(“elefante\n”)
else:
print(“No es un numero del 1 al 3”)

Bucles repetitivos

Bucle For: Es de carácter lógico(no lógico-matemático) y se utiliza para repetir una sentencia
de manera definida dentro del bucle.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Su uso está dirigido al uso de listas, tuplas y diccionarios, que recordemos que son tipos de
variables múltiples que permiten guardar muchos datos para utilizarlos en un futuro.

Si queremos detener el bucle en un punto exacto del programa, ponemos un break, que debe
estar acompañado de una sentencia If que indique al programa bajo qué condiciones debe
dejar de ejecutarlo.

cadena = 'Python'
for letra in cadena:
if letra == 'h':
print("Se encontró la h")
break
print(letra)
#la condición se da antes de imprimir el resto de letras porque de lo
#contrario el programa imprime la letra “h”y después para el programa y
#nosotros estamos buscando que el programa se pare antes de imprimir la
#letra h

Supongamos que queremos hacer un programa que repita una cierta cantidad de veces una
acción. Pero en vez de dar una condición de veces ponemos nosotros el valor exacto de
veces.

En ese caso procedemos creando una primera variable que nos dé la cantidad exacta a
repetir y utilizando range(variable) en la parte condicional del bucle, tendremos una función
que se repite una cierta cantidad de veces elegida.

repetir = int(input("ingrese un número: "))


for x in range(repetir):
print("hola")
#va a imprimir en pantalla “hola” la cantidad de veces que indiquemos

Bucle While: De carácter lógico-matemático, este bucle repite una sentencia siempre que la
condición comparativa sea verdadera. El bucle depende de una variable inicial declarada
previamente, que ayuda al bucle a repetir el ciclo la cantidad x de repeticiones.

Si queremos detener el bucle en un punto exacto del programa, ponemos un break, que debe
estar acompañado de una sentencia If que indique al programa bajo qué condiciones debe
dejar de ejecutarlo.

x = 5
while True:
x -= 1
print(x)
if x == 0:
print("Fin del bucle")
break

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Debajo de cualquier condición, debemos especificar que una vez completado el bucle, se le
sume o reste a la variable de control un 1, para evitar que el bucle se repita de manera
infinita. Esto se hace con un “variable”+=1 o -=1.

x = 5
while x > 0:
x -=1
print(x)
#4,3,2,1,0

Un dato interesante y que utilizan algunos tipos de virus es que si no se pone una condición al
bucle while, este podría repetirse de manera infinita. Como por ejemplo:

while True:
print("Bucle infinito")
#esto se va a repetir de manera infinita, sin poder pararlo a no ser que
#cerremos el programa. También podemos parar su ejecución con Ctrl+C en VSC

De este modo funcionan algunos tipos de virus que abren archivos o páginas de internet
infinitamente hasta que la computadora se reinicia porque la memoria RAM llegó a su máxima
capacidad.

Ahora bien, si queremos que el bucle excluya un solo valor dentro del bucle, debajo de la
sentencia If utilizamos un continue, que se usa para decirle al lenguaje que si pasa esa
condición, siga sin ejecutar solo ese valor. Y previo a la misma sentencia ponemos la suma,
porque queremos que una vez sumado el valor, analice si debe excluirlo o no.

Listas

Recordemos que una lista es un conjunto de datos de cualquier tipo que se guardan en una
sola variable para poder ser modificados. Pueden incluso tener listas más pequeñas dentro
de una misma lista. Para crear una lista todos los valores deben estar encerrados entre
[corchetes]

Si queremos acceder a un valor específico de la lista, tenemos que tener en cuenta que cada
valor tiene una posición, comenzando en [0] como la primera posición. Así si queremos
imprimir el valor en la quinta posición en una lista, la pondremos como print(lista[4])

Existen muchos métodos métodos que se pueden hacer con las listas, pero vamos a nombrar
los más utilizados y útiles a la hora de utilizar las listas:

Append(valor): Añade un item al final de la lista.

lista = [5,10,15,25]
print(lista.append(40))
#[5,10,15,25,40]
Insert(índice, valor): Añade un ítem en una posición específica de la lista.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


lista = [5,10,15,25]
print(lista.insert(3,20))
#[5,10,15,20,25]
Extend(): Une dos listas.

lista = [5,10,15,25]
print(lista.extend([40,65]))
#[5,10,15,25,40,65]

Remove(): Elimina el primer ítem de la lista que concuerde con el valor indicado.

lista = [5,10,15,25,15,40]
print(lista.remove(15))
#[5,10,25,15,40]

Pop(): Elimina un valor de la lista indicado según su posición. Si no tiene una posición
indicada, por defecto elimina el último valor agregado.

lista = [5,10,15,25]
print(lista.pop())
#[5,10,15]

Len(): Nos indica la longitud de la lista, la cantidad de datos que componen dicha lista.

lista = [5,10,15,25]
print(len(lista))
#4
Index(): Indica el número de índice del valor solicitado.

lista = [5,10,15,25]
print(lista.index(15))
#2

Con la función index sucede algo a tener en cuenta. Es que si hay dos valores iguales en toda
la lista, no nos va a tirar dos valores de índice, solo los arroja el valor de índice del primer
número que concuerda con lo que ponemos.

lista = [5,10,15,25,15,40]
print(lista.index(15))
#2

Count(): Cuenta la cantidad de veces que aparece el valor solicitado en la lista.

lista = [5,10,15,25,15,40,15,60,15]
print(lista.count(15))
#4

Clear(): Elimina todos los valores guardados de la lista.

lista = [5,10,15,25,15,40]

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


print(lista.clear())
#none

Sort(): Ordena de menor a mayor todos los ítems de la lista.

lista = [25,15,10,40,5]
print(lista.sort())
#[5,10,15,25,40]

Reverse(): invierte el orden de los ítems de la lista.

lista = [5,10,15,25,40,65]
lista.reverse()
print(lista)
#[65,40,25,15,10,5]

Con las últimas dos funciones podemos pedir al código que ordene los números en el orden
inverso al que nosotros definimos.

lista = [25,15,10,40,5]
lista.sort(reverse = true)
print(lista)
#[40,25,15,10,5]

Cadena de caracteres

Los datos de tipo cadena, son una serie de caracteres donde cada uno de esos caracteres
cuenta individualmente. Se declaran entre “comillas”. Una cadena puede no tener caracteres,
osea ser A = “ “

Imaginemos que queremos que estas comillas se vean en la impresión de la cadena, para
esto agregamos /” donde queremos que la comilla se vea.

Del mismo modo, si queremos poner un párrafo completo para luego imprimirlo, no podemos
hacer saltos de línea dentro de la cadena. Para esto le tenemos que especificar al lenguaje
que la cadena cuenta con saltos de línea. esto se hace poniendo 3 comillas al inicio y al final

A = “““ Esto cuenta para


el programa como una única
cadena de caracteres”””

Las cadenas son similares a las listas, ya que estas, al ser una sucesión de caracteres, cada
carácter tiene asignado un número de posición, entonces si queremos cortar una cadena,
podemos pedirle al programa que imprima ciertas posiciones dentro de la cadena. En
cadenas más grandes que pueden abarcar párrafos de texto, los espacios también cuentan
como un carácter.

Pero a diferencia de las listas, donde la posición -1 es la penúltima, en una cadena, el primer
valor siempre será cero, y si pedimos el último valor, podemos pedirlo como -1, ya que

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


partiendo desde la posición cero, retrocede al final de la cadena al primer valor que
encuentra, es decir el valor final.

Hay que tener en cuenta que si bien esto de que cada uno de los componentes de una
cadena tenga una posición es similar a la posición de una lista, lo que las diferencia es que en
una cadena de caracteres, la primera posición es un solo carácter, entonces pedirle al
programa imprimir el [0] de la cadena, implica que imprima solo el primer caracter que la
compone y no el primer dato o palabra.

Existen muchas funciones que se pueden hacer con estos caracteres para modificarlos. Estas
son:

len(): nos dice la cantidad de caracteres que componen a la cadena. Se diferencia del len en
una lista porque este cuenta la cantidad de caracteres individualmente, mientras que en la
lista cuenta la cantidad de datos que componen la lista.

A = “carlos”
print(len(A))
#6

capitalize(): devuelve la cadena con la primera letra mayúscula.

A = “carlos”
print(A.capitalize())
#Carlos

lower(): cambia todos los caracteres por minúsculas.

A = “CARLOS”
print(A.lower())
#carlos

upper(): cambia todos los caracteres por mayúsculas.

A = “carlos”
print(A.upper())
#CARLOS

swapcase(): cambia minúsculas por mayúsculas y viceversa.

A = “cArLoS”
print(A.swampcase())
#CaRlOs

cont(): al igual que en las listas, cuenta que cantidad de veces se repite la sentencia que
ponemos.

A = “bioingeniería”
print(A.cont(i))
#4

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Los siguientes no son tan comunes, pero aun así son útiles para algunos trabajos.

isalnum(): devuelve “true” si todos los caracteres son valores alfanuméricos, es decir,
alfabéticos y numéricos.

isalpha(): devuelve “true” si todos los caracteres son alfabéticos.

A = “bioingeniería”
print(A.isalpha())
print(A.isalnum())
#True
#True

strip(): Elimina a la izquierda y a la derecha el carácter que le introducimos, si no le


introducimos nada eliminará los espacios vacíos.

A = “.bioingeniería.”
print(A.strip(.))
#bioingeniería

zfill(): rellena la cadena con ceros hasta completar la longitud pasada como parámetro.

A = “carlos”
print(A.zfill(10))
#0000carlos

join(): devuelve la primera cadena unida a cada uno de los elementos de la lista que se le
pasa como parámetro

A = " y ".join(["Juan", "Paco", "Mauricio"])


print(A)
#”Juan y Paco y Mauricio”

split(): divide una cadena en subcadenas y las devuelve almacenadas en una lista. La división
es realizada de acuerdo a el primer parámetro, y el segundo parámetro indica el número
máximo de divisiones a realizar.

A = "Juan, Paco, Mauricio"


print(A.split(“,”))
#[“Juan”, “Paco”, “Mauricio”]

Tuplas

Las tuplas, al igual que las listas, también son una sucesión de ítems. Pero en este caso cada
ítem no cuenta como una cadena en el caso de ser de tipo str, sino que cada ítem es uno
solo.

Para acceder a un valor de una tupla, podemos cerrarlo entre los valores que se encuentra.
Con el mismo principio de la lista, a cada valor de la tupla se le asigna una posición numérica,
supongamos que queremos los valores 1 y 2 de la tupla. Para esto no debemos tomar el

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


intervalo (1,2) porque el último valor no lo toma, entonces tomamos los valores (1-3) y se
tomarán los valores 1 y 2 de la tupla.

Esto de no poder modificar una tupla nos plantea como podemos modificarla. Es mucho más
simple de lo que parece, primero a la tupla la tenemos que convertir en lista, voy a ponerlo en
un ejemplo para que no sea confuso.

#vamos a suponer que tenemos una tupla, que llamaremos “A”


A = (1,4,67,hola, gato, perro)
#ahora, para hacer que sea lista, creamos otra variable “B” pero
especificado que es de tipo lista
B = list(A)
#ahora, la tupla es una lista y puede ser modificada
B[1] = 2
B[3] = “elefante”
#una vez modificada la lista, tenemos que decirle que vuelva a ser una tupla
A = tuple(B)
print(a)
#lo que mostrará será (1,2,67,elefante,gato,perro)

Otra de las cosas interesantes que podemos hacer con tuplas es concatenar muchas
variables con sus respectivos valores. Esta es una opción mucho más conveniente a la hora
de declarar variables que tienen un mismo sentido.

Por ejemplo, supongamos que queremos anotar las edades en un grupo de 5 amigos, vamos
a crear dos tuplas una tupla con los nombres y a esta la vamos a igualar a la tupla con las
edades respectivas de cada persona en el orden que están en la primera tupla:

(raul,pablo,marcos,eugenia,maria) = (21,23,19,20,18)

Si pedimos al programa que imprima la edad de Raúl, basta con pedirle al programa que
imprima Raúl, que ya tiene el valor de 21.

Sobre las funciones que existen para tuplas, son muchas menos que para las listas debido a
que estas no se pueden modificar. Así que en funciones tenemos a count() e index() como
únicas funciones útiles para tuplas.

Diccionarios

De todos los nombrados, los diccionarios son el tipo de dato más abarcativo, en un
diccionario podemos mezclar muchos tipos de datos y dentro de estos podemos encontrar
listas y tuplas agregadas al mismo. Aparecen entre {llaves} y trabajan de manera un poco
diferente a las listas y tuplas. Dentro de las llaves vamos a encontrar datos que se encuentran
separados no solo por una coma, si no que por dos puntos después de un dato. Esto que está
separado por dos puntos en en sí un solo dato, pero nos dice que una parte es “como
llamamos al dato” o clave del dato y la otra es “el valor que adquiere ese mismo dato”. Por
ejemplo:

#vamos a anotar nombres y datos sobre la edad de los mismos

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Diccionario = {juan : 30, elena : 15, maria : 25, marcos : “nació en 2002”}
#en un diccionario, “juan : 30” es en sí un solo dato, solo que “juan” es la
#clave del dato y “30” es el dato que se almacena dentro de “juan”.

Una cosa a tener en cuenta es que las claves no pueden ser iguales, supongamos que
tenemos un diccionario de nombres, y los tenemos numerados. Si encuentra dos nombres
con la misma clave, va a imprimir en el lugar de esa clave el último valor que le dimos a esa
clave. Por ejemplo:

Diccionario = {1:"manuel",
2:"carlos",
3:"maria",
4:"pablo",
5:"andrea",
3:"gio",
3:"pablo"}
print(Diccionario)
#{1:'manuel',2:'carlos',3:'pablo',4:'pablo',5:'andrea'}
#tomo el ultimo valor que le dimos a esa clave que fue “pablo”

Al igual que las tuplas, listas o cadenas, en los diccionarios podemos encontrar la función
len() que en este caso nos indica la cantidad de “claves”. Por ejemplo, si pidiéramos la
longitud del diccionario anterior, sería 5, porque recordemos que las claves que adquieren
distintos valores siguen contando como UNA sola.

Para acceder a los elementos de un diccionario podemos optar por varios caminos, desde los
más simples como lo es poner “diccionario”[clave], de esta manera accederemos al valor del
diccionario indicado, indicando su clave.

Pero si no sabemos cuantas claves tenemos en el diccionario, podemos llamar a la función


.keys(), que nos dirá la cantidad de claves que están presentes en el diccionario, sin indicar
su valor.

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


print(Diccionario.keys())
# dict_keys([1,2,3,4,5])

Pero si además de no saber la cantidad de ítems, no conocemos sus valores, podemos llamar
a la función .values(), que nos dirá los valores que están presentes en el diccionario, en el
orden que los pusimos. De este modo, con ambas funciones, si no sabemos ni claves ni
valores, podemos averiguar rápidamente todo acerca del diccionario imprimiendo ambas
funciones

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


print(Diccionario.keys())
print(Diccionario.values())
# dict_keys([1,2,3,4,5])
#dict_values([“manuel”, “carlos”, “pablo”, “pablo”, “andrea”])

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Existe otro método útil para funciones más largas que es el método items(). Este mismo
convierte cada clave junto a su valor en el diccionario, en una tupla; y todas estas tuplas las
encierra en una lista, es decir, para que sea más sencillo de entender:

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


print(Diccionario.items())
#dict_items[(1,”manuel”),(2,”carlos”),(3,”maria”),(4,”pablo”),(5,”andrea”)]
#convierte las claves con su valor en una tupla. Y encierra todas las tuplas
#en una lista

Dentro de un diccionario podemos cambiar los valores que adopta una clave, por ejemplo:

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario[4] = “perro”
print(Diccionario)
#{1: 'manuel', 2: 'carlos', 3: 'maria', 4: 'perro', 5: 'andrea'}

Existe una función que simplifica esto y nos ayuda a que sea más corto, .update(). En el
ejemplo anterior:

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario.update{4: “perro”}
print(Diccionario)
#{1: 'manuel', 2: 'carlos', 3: 'maria', 4: 'perro', 5: 'andrea'}

Pero el método .update() no solo nos sirve para cambiar algún elemento del diccionario,
además, nos sirve para agregar elementos nuevos al diccionario. Es por esto que es de
mucha más utilidad.

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario.update{6: “eugenia”}
print(Diccionario)
#{1: 'manuel',2: 'carlos',3: 'maria',4: 'pablo',5: 'andrea',6: ‘eugenia’}

Si queremos borrar items de un diccionario, existen 3 métodos sencillos que nos simplifican la
tarea a la hora de hacerlo.

.pop(): Se utiliza para eliminar un ítem específico, a diferencia de las listas, en un diccionario
no elimina el último elemento agregado si no especificamos, tenemos que especificar una
clave si o si.

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario.pop(2)
print(Diccionario)
#{1: 'manuel',3: 'maria',4: 'pablo',5: 'andrea'}

.popitem(): Se utiliza para eliminar el último item agregado.

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario.popitem()
Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina
print(Diccionario)
#{1: 'manuel',2: 'carlos',3: 'maria',4: 'pablo'}

.clear(): Se utiliza para eliminar todo el diccionario.

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


Diccionario.clear()
print(Diccionario)
#{}

del: Funciona eliminando un ítem solicitado, pero esta función implica un menor uso de
espacio en el programa

Diccionario = {1:"manuel", 2:"carlos", 3:"maria", 4:"pablo", 5:"andrea",}


del Diccionario[2]
print(Diccionario)
#{1: 'manuel',3: 'maria',4: 'pablo',5: 'andrea'}

Aunque parece algo poco práctico, muchas veces el espacio de memoria y sobre todo en
proyectos grandes, es de vital importancia. ahorrar espacio de caracteres de donde sea suele
ser preferible a ir por la vía más fácil.

Funciones

Son pedazos de código que se pueden llamar en cualquier momento y sirven entre otras
cosas para ahorrar espacio y no ser redundantes y tener que poner las mismas líneas de
código muchas veces muchas veces. Para declarar una función primero tenemos que
empezar con un “def”.

def mifuncion():
print(“hola mundo”)
#acá la función ya está completa, podemos llamarla en cualquier momento
mifuncion() #haciendo esto va a ejecutar la función que definimos

Recursividad de funciones

Una función recursiva es aquella que dentro de su propio código, se incluye a sí misma, por
ejemplo, vamos a hacer una función que calcule el factorial de un número que indiquemos:

def factor(numero):
if numero == 1:
return 1 #esto detiene la función cuando sea 1, devuelve 1
else:
return (numero * factor(numero -1))
#acá se produce algo parecido a un ciclo, que se detiene en 1
numero = int(input(“por favor, ingrese un número”))
print(factor(numero))

Módulos

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Archivo externo a nuestro programa que podemos llamar para utilizar sus funciones. Python
ya incluye módulos internos que pueden ser utilizados, pero nosotros podemos crear nuestros
propios módulos según nuestras necesidades. Para llamar un módulo es importante que se
encuentre el archivo en la misma carpeta y lo llamamos poniendo import “modulo”. import es
la función que va a integrar el otro documento a nuestro programa principal.

El uso de módulos simplifica muchísimo los programas y reduce significativamente las líneas
de código.

Ejercitación: Por cada ejercicio, deberá plantear un pseudocódigo y un código en


Python.

1. Pedirle 3 números al usuario y comparar cual de los 3 es el más grande e imprimir un


mensaje que diga “el número más grande es:” y nos ponga el valor del número más
grande según el caso. Adicionalmente se propone que esto se haga en un programa de
menos de 20 líneas de código

2. El programa debe pedir un número y analizar si es par o impar. Además, debe analizar
si el número es positivo o negativo e imprimir un mensaje que diga ambas cosas.
Adicionalmente proponemos que el programa se haga creando dos funciones distintas,
que expresen cada una de las condiciones que se piden.

3. Escribí un programa que permita saber si un año es bisiesto. Para que un año sea
bisiesto debe ser divisible por 4 y no debe ser divisible por 100, excepto que también
sea divisible por 400.

4. Escribí un programa que, dado un número entero, muestre su valor absoluto. Recordá
que, para los números positivos su valor absoluto es igual al número (el valor absoluto
de 52 es 52), mientras que, para los negativos, su valor absoluto es el número
multiplicado por -1 (el valor absoluto de -52 es 52).

5. Escribí un programa que le solicite al usuario un número entero y muestre todos los
números correlativos entre el 1 y el número ingresado por el usuario.

6. Escribí un programa que, dada una frase por el usuario, muestre la cantidad total de
vocales (tanto mayúsculas como minúsculas) que contiene.

7. Escribí un programa que muestre los primeros 10 números de la sucesión de Fibonacci.


La sucesión comienza con los números 0 y 1 y, a partir de éstos, cada elemento es la
suma de los dos números anteriores en la secuencia: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55…

8. Necesitamos un programa que pida a un entrenador cuantos corredores está


preparando y le pida para cada uno de los corredores, la distancia que pueden correr y
los clasifique:

- Si pueden correr menos de 5000 metros, no están aptos para la carrera.


- Si pueden correr entre 5000 y 10000 mts, entran en categoría A.
- Si pueden correr entre 10000 y 15000 mts, entran en categoría B.
- Si pueden correr más de 15000 mts, entran en categoría C.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Adicionalmente, al final del programa debe indicar cuántos corredores hay en cada
categoría.

9. Escribí un programa que, dado un número entero positivo, calcule y muestre su factorial.
El factorial de un número se obtiene multiplicando todos los números enteros positivos
que hay entre el 1 y ese número. El factorial de 0 es 1. El factorial debe ser una función

10. Escribe un programa que solicite la cantidad de números, luego que guarde los números
en una lista, que elimine el primer y último elemento de la lista y cree una nueva lista
con los elementos que no fueron eliminados.

Luego, que devuelva la media de la nueva lista que contenga todos los elementos de la
lista anterior menos el primero y el último.

11. Desarrollar un programa que pida al usuario una unidad de medida de temperatura.
Seguido a esto, debe ingresar un valor de temperatura para luego pasar de temperatura
a la que el usuario desee. Debe recordar que:

● °C a °F = (°C * 9/5) + 32
● °C a K = °C + 273
● °F a °C = (°F - 32 ) * 5/9
● °F a K = [(°F - 32) * 5/9] + 273
● K a °C = K - 273
● K a °F = [(K -273) * 9/5] +32

12. Crea un programa que incluya una función inversa() que calcule la inversión de una
cadena. Por ejemplo la cadena "estoy probando" debería devolver la cadena "odnaborp
yotse". El programa debe ejecutarse tantas veces como el usuario lo desee.

13. Escribí un programa que solicite al usuario el ingreso de un texto y almacena ese texto
en una variable. A continuación, mostrar en pantalla la primera letra del texto ingresado.
Luego, solicitar al usuario que ingrese un número positivo menor a la cantidad de
caracteres que tiene el texto que ingresó (por ejemplo, si escribió la palabra “HOLA”,
tendrá que ser un número entre 0 y 4) y almacenar este número en una variable llamada
índice. Mostrar en pantalla el carácter del texto ubicado en la posición dada por índice.

14. Escribí un programa que permita al usuario ingresar los montos de las compras de un
cliente (se desconoce la cantidad de datos que cargará, la cual puede cambiar en cada
ejecución), cortando el ingreso de datos cuando el usuario ingrese el monto 0. Si ingresa
un monto negativo, no se debe procesar y se debe pedir que ingrese un nuevo monto. Al
finalizar, informar el total a pagar teniendo que cuenta que, si las ventas superan el
monto total de 1000, se le debe aplicar un 10% de descuento.

15. Una empresa necesita saber cuántas vacaciones debe tener un empleado según su
antigüedad.

La misma empresa está dividida en 3 sectores, en cada uno los días de vacaciones son
distintos según la antigüedad:

Si pertenece al sector 1, tiene derecho a:

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


● 6 días de vacaciones con una antigüedad de 1 a 2 años.
● 14 días de vacaciones con una antigüedad de 2 a 7 años.
● 20 días de vacaciones con una antigüedad superior a los 7 años
● Si el empleado no llega al año de trabajo, no tiene derecho a vacaciones

Si el empleado pertenece al sector 2, tiene derecho a:

● 7 días de vacaciones con una antigüedad de 1 a 2 años.


● 15 días de vacaciones con una antigüedad de 2 a 7 años.
● 22 días de vacaciones con una antigüedad superior a los 7 años
● Si el empleado no llega al año de trabajo, no tiene derecho a vacaciones

Si el empleado pertenece al sector 3, tiene derecho a:

● 10 días de vacaciones con una antigüedad de 1 a 2 años.


● 20 días de vacaciones con una antigüedad de 2 a 7 años.
● 30 días de vacaciones con una antigüedad superior a los 7 años
● Si el empleado no llega al año de trabajo, no tiene derecho a vacaciones

Si ninguna de las claves ingresadas corresponde con estos casos, que imprima un
mensaje que diga “la clave de departamento no existe, inténtelo nuevamente.”

16. Escribí un programa que pregunte al usuario si desea analizar calificaciones de alumnos
y, sólo si responde “S” comenzará el procesamiento de los datos, hasta que el usuario
ingrese algo diferente de “S”. Por cada alumno, pedir el nombre del alumno y a
continuación pedir las notas de 4 materias, lengua, matemática, historia y geografía.

Si la nota es mayor a 6 el alumno está aprobado y debe aparecer un “aprobado debajo de


la nota”.

Finalmente mostrar un promedio de las notas del alumno y mostrar en pantalla “el
alumno tiene un promedio de: ”

Para continuar el programa agregar un mensaje que pregunte al usuario si desea


continuar.

17. Escribir un programa que le permita al usuario ingresar números enteros, que pueden
ser positivos o negativos. Al finalizar, debe mostrar la sumatoria de los números
negativos y el promedio de los negativos.

No olvide que no es posible dividir por cero, por lo que es necesario evitar que el
programa arroje error si no se ingresan números positivos.

Nota: La condición de finalización la debe elegir cada programador.

18. En una librería se venden artículos con las siguientes condiciones:


a. Si el cliente es Tipo 1, se le aplica un 30% de descuento
b. Si el cliente es Tipo 2, se le aplica un 20% de descuento
c. Si el cliente es Tipo 3, se le aplica un 10% de descuento

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Escribir un algoritmo que lea el nombre y tipo de cliente; y el precio. Calcular el pago
final. Y repetir para 5 clientes.

19. En una determinada empresa, sus empleados son evaluados al final de cada año. Los
puntos que pueden obtener en la evaluación comienzan en 0.0 y pueden ir aumentando,
traduciéndose en mejores beneficios. Los puntos que pueden conseguir los empleados
pueden ser 0.0, 0.4, 0.6 o más, pero no valores intermedios entre las cifras mencionadas.
A continuación se muestra una tabla con los niveles correspondientes a cada
puntuación. La cantidad de dinero conseguida en cada nivel es de $50000 multiplicada
por la puntuación del nivel.

Nivel |Puntuación
Inaceptable | 0.0
Aceptable | 0.4
Meritorio | 0.6 o más

Escribir un programa que lea la puntuación del usuario e indique su nivel de rendimiento,
así como la cantidad de dinero que recibirá el usuario.

20. Podemos determinar cuántos dígitos tiene un entero positivo dividiendo repetidamente
por 10 (sin guardar el resto) hasta que el número sea menor que 10 y conste de solo 1
dígito. Sumamos 1 a este valor para cada vez que dividimos por 10. El algoritmo
recursivo sería algo así:

1. If n < 10 return 1.

2. sino, return 1+ el número de dígitos en n/10 (ignorando la parte fraccionaria).


Implementar este algoritmo recursivo para determinar cuántos dígitos tienen un número
entero ingresado por teclado.

Ejemplo. Si ingresó el número 15105, el resultado deberá ser: "El número ingresado tiene
5 dígitos".

21. Un palíndromo, es una palabra o frase que se lee igual en un sentido que en otro (por
ejemplo; ana, anna, otto, civic, level). Escriba un programa que lea una cadena ingresada
por teclado. Usa una función recursiva para determinar si la cuerda es un palíndromo.
Luego muestre un mensaje acorde al resultado para el usuario.

Para tener en cuenta: Una cadena vacía es un palíndromo, al igual que cualquier cadena
que contenga sólo un carácter. Cualquier cadena más larga es un palíndromo si su
primer y último carácter coinciden, y si la cadena formada al eliminar el primer y último
carácter también es un palíndromo.

Ayuda: Usar operaciones de rebanado de cadenas (slice), tema visto en la clase de


CADENAS, con el fin de subdividir el problema en partes más pequeñas.

22. Utilizar una función recursiva para calcular una potencia de base a y exponente b. El
usuario debe ingresar por teclado los valores de a y b como enteros positivos.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


Ayuda: para las condiciones de base, recordar que para x = ab

- Si b=0 entonces x = 1
- Si a = 0 entonces x = 0
- Si b = 1 entonces x = a
23. Programar una función recursiva que reciba una cadena como parámetro y devuelva la
misma cadena, pero con todos sus caracteres invertidos. Ejemplo, si el usuario ingresa
"hola" la función devolverá "aloh".
24. Cierta empresa requiere controlar las existencias de diez productos, los cuales se
almacenan en una lista “Existencias”, mientras que los pedidos de los clientes de estos
productos se almacenan en una lista “Pedidos”.

Se requiere una tercera lista, “Comprar” con base en las anteriores que represente lo que
se requiere comprar para mantener el stock de inventario, para esto se considera lo
siguiente:

- Si los valores correspondientes a los índices de las listas “Existencias” y “Pedidos” son
iguales(=), se almacena el mismo valor.
- Si el valor de “Pedidos” es mayor(<) al de ”Existencias”. Se almacena el doble de la
diferencia entre “Pedidos” y “Existencias”.
- Si se da el caso de que “Existencias” es mayor(<) que “Pedidos”, se almacena el valor
de pedidos, que indica lo que se requiere comprar para mantener stock.

Mostrar en pantalla las cantidades de productos a adquirir según la lista “Comprar”

La siguiente tabla muestra las variables requeridas para representar su algoritmo de


solución de este problema

Variables Descripción Tipo


I Contador y subíndice Entero
Existencias Lista con valores de existencias Lista de 10 enteros
Pedidos Lista con pedidos de clientes Lista de 10 enteros
Comprar Listas con requerimiento para mantener stock Lista de 10 enteros

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina


25.

26.
27. Un grupo de amigos decide organizar un juego de estrategia, para lo cual forman dos
equipos de 6 integrantes cada uno, donde un integrante de cada equipo es el “jefe” y los
otros 5 son sus “oficiales”. La regla más importante del juego es que sólo se
comunicarán mediante un canal común, por lo que deben buscar la forma de ocultar el
contenido de sus mensajes. Uno de los equipos decide utilizar un método antiguo de
encriptación llamado “la cifra del césar”, que consiste en correr cada letra del mensaje
–considerando la posición de cada una en el alfabeto– una determinada cantidad de
lugares. Ejemplo: si el corrimiento es de 2 lugares, la palabra “ATAQUE” se transforma en
“CVCSWG”.

Cada día, el “jefe” del equipo debe enviar un mensaje a cada uno de sus oficiales. Escribir
un programa que permita encriptar los 5 mensajes. El corrimiento (cantidad de lugares
que se correrán las letras) será dado por el usuario antes de comenzar a encriptar. Los 5
mensajes usarán el mismo corrimiento.

Nota: si el alfabeto termina antes de poder correr la cantidad de lugares necesarios, se


vuelve a comenzar desde la letra “a”. Ejemplo: la palabra “EXTRA” corrida 3 lugares se
convierte en “HAWUD”. Utilizando el alfabeto español, de 27 letras, el siguiente cálculo
matemático permite volver a comenzar por el principio una vez que se llegó a la “z”:
(índice de la letra a correr+corrimiento)

Sólo se encriptarán las letras de los mensajes, dejando al resto de caracteres sin
modificación.

Autor: Giovanni Ignacio Simoni Stocco Mendoza - Argentina

También podría gustarte