Está en la página 1de 9

FUNDAMENTOS DE

PROGRAMACIÓN

LABORATORIO N° 13

MÓDULOS Y PAQUETES EN PYTHON

CODIGO DEL CURSO:

Alumno(s) Nota

Condori Pinto Juan José Matías

Grupo A
Ciclo I
Fecha de entrega 22/06/2022

DISEÑO Y DESARROLLO DE SOFTWARE


This study source was downloaded by 100000865550505 PROGRAMA DE FORMACIÓN
from CourseHero.com REGULAR
on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 1 de 8

I.- OBJETIVOS:
 Elaborar y diseñar programas en Python que hagan uso de módulos y paquetes

II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.

III.- FUNDAMENTO TEÓRICO:


1. Revisar el texto guía que está en el campus Virtual.

IV.- NORMAS EMPLEADAS:


2. No aplica

V.- RECURSOS:
 En este laboratorio cada alumno trabajará con un equipo con Windows 10.

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


 El desarrollo del laboratorio es individual.

VII.- MARCO TEÓRICO:

This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 2 de 8

VIII.- PROCEDIMIENTO:

Crear un nuevo proyecto llamado “Lab13”. Crear, dentro de este proyecto, un programa Python por cada
módulo y otro programa Python para su ejecución correspondiente, haciendo las importaciones
correspondientes. Alternar el modo de importación.

EJERCICIOS DE APLICACIÓN:

1. Elabore un módulo que almacene tres funciones:


 Que retorne verdadero si el número ingresado es par,caso contrario falso
 Que retorne verdadero si el número ingresado es impar,caso contrario falso
 Que retorne los numeros pares de un intervalo

Programa en Python
def Es_par(n):
if n%2==0: return 1
else: return 0

def Es_impar(n):
if n%2!=0: return 1
else: return 0

def Pares(n,m):
if n%2!=0: n+=1
resultado = []
for i in range(n,m+1,2):
resultado.append(i)
return resultado
Main:
import Modulos

n = int(input())
m = int(input())
print(Modulos.Pares(n,m))
print(Modulos.Es_par(n))
This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 3 de 8

print(Modulos.Es_impar(m))

Se creó un módulo con las 3 funciones dadas en el enunciado, para comprobarlo se anexó el
código principal y valores aleatorios, lo cual nos arrojó el resultado dado.

2. Elabore un módulo que almacene una función que tome como argumento dos números enteros y
devuelva el mayor.

Programa en Python
def Mayor(n,m):
print("El mayor es: ",end='')
if n>=m: return n
else: return m
Main:
from Modulos import Mayor

n = int(input("Ingrese un número: "))


m = int(input("Ingrese un número: "))
print(Mayor(n,m))

Dentro del módulo, la función consideró solo al número mayor, no importa si son iguales; en el
main se ingresan 2 números y se comparan para saber cuál de ellos tiene mayor valor, se hizo
uso de from…import para simplificar un poco más las cosas al momento de llamar a la función
Mayor().

3. Elabore un módulo que almacene una función que calcule la longitud de una expresión de texto
ingresada por teclado.

Programa en Python
def Longitud(texto):
print("El número de caracteres es: ",end='')
return len(texto)
Main:
from Modulos import Longitud

n = input("Ingrese un texto: ")


print(Longitud(n))

This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 4 de 8

Para hallar la longitud de una cadena de texto, se hizo uso del método len() dentro de la función
Longitud; para llamar a la función se hizo uso de un from…import para simplificar un poco más
el código.

4. Elabore un módulo llamado operaciones que almacene dos funciones: funcion_suma() y función_prod()
que sumen y multipliquen respectivamente todos los números de una lista. Por ejemplo: funcion_suma()
([1,2,3,4]) debería imprimir 10 y función_prod ([1,2,3,4]) debería devolver 24.

Programa en Python
def funcion_suma(n):
suma = 0
for i in n:
suma += i
return suma

def funcion_prod(n):
producto = 1
for i in n:
producto *= i
return producto
Main:
from Operaciones import *

n = int(input("Ingrese el número de elementos: "))


lista = []
for i in range(n):
number = int(input("Ingrese un número: "))
lista.append(number)
print("La suma de sus elementos es: ",funcion_suma(lista))
print("El producto de sus elementos es: ",funcion_prod(lista))

Dentro del módulo se crearon las funciones dadas y se hizo uso del bucle for para iterar dentro
de la lista ingresada; en el código principal se importó el módulo operaciones y se ingresaron los
elementos de la lista antes mencionada.
This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 5 de 8

5. Elabore un módulo que almacene tres funciones:


a. Una función que imprima la serie de fibonacci,
b. Una función que imprima la suma de la serie de fibonacci
c. Una función que imprima el factorial de un número

Programa en Python
def fibonacci(n):
a,b = 0,1
lista = []
while b<n:
lista.append(b)
a,b = b,a+b
return lista

def suma_fibonacci(n):
suma = 0
for i in n:
suma += i
return suma

def factorial(n):
fact = 1
for i in range(1,n+1):
fact *= i
return fact
Main:
from Modulos import *

n = int(input("Ingrese un límite para la serie fibonacci: "))


print(fibonacci(n))
print("La suma de estos números es: ",suma_fibonacci(fibonacci(n)))
m = int(input("Ingrese un número: "))
print("Su factorial es: ",factorial(m))

Me apoyé del ejemplo de la serie Fibonacci dada en la sesión teórica, lo cual imprime una lista,
luego, para la suma, se itera en esta lista con el bucle for; en cuanto al factorial, se multiplican
todos los números menores al límite+1, números enteros; en el main se importa dicho módulo y
sus funciones.

USO DE PAQUETES EN PYTHON


6. Creación del nuevo paquete: paquete_simple
a. Adicione a su proyecto una carpeta (folder). Click
derecho en el Nombre del proyecto  New 
Directory
This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 6 de 8

Asigne como nombre de la carpeta: paquete_simple


Verifique que haya aparecido el nuevo folder
b. Adicione al nuevo paquete un nuevo programa (módulo) denominado cuadros.py

c. Adicionaremos al módulo cuadros.py los siguientes métodos que permiten trazar una línea
horizontal y un recuadro en la pantalla.
Código en Python
def linea(car,tam):
print(car*tam)

def cuadro(car, nfil, ncol):


linea(car, ncol)
for i in range(nfil-2):
print(car + ' '*(ncol-2) + car)
linea(car, ncol)
d. Adicione a su proyecto un programa denominado p06.py el cual hará uso de las funciones
incluídas en el módulo cuadros.py que a su vez está incluido en el paquete: paquete_simple:
e. Procederemos a importar el módulo cuadros.py en nuestro programa p05.py
Código en Python
import paquete_simple.cuadros as c

f. Ahora procederemos a invocar (llamar) a ls funciones del módulo cuadros.py:


Código en Python
import paquete_simple.cuadros as c

c.linea('*',20)
print()
c.cuadro('*', 8, 20)
g. Ejecute el programa p06.py y verifique que se muestren una línea horizontal y un recuadro en la
consola.
Adjunte la imagen correspondiente al resultado.

This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 7 de 8

h. En las secciones anteriores, hemos aprendido cuatro formas distintas de importar un módulo
desde un programa. Modifique el programa creado p06.py para hacer uso de cada una de las
maneras distintas para importar el módulo cuadros.py. Ejecute el programa y verifique su
funcionamiento.
Adjunte imágenes de cada modificación realizada (mínimo 3)

This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Lab 13
Laboratorio de Fundamentos de Programación Página 8 de 8

OBSERVACIONES:

 Para llamar un módulo en el código principal, se hace uso de import o from…import,


esto pasa lo mismo con las librerías, desde cierto punto de vista, los módulos serían
como librerías personalizadas.
 Los módulos que se hicieron en este laboratorio, todos y cada uno de ellos contenían
funciones las cuales podían ser llamadas a través de import o from…import en el
código principal.
 Las funciones dentro de un módulo se podían llamar entre sí, por lo que en este tipo
de operaciones una función dependía de otra, caso contrario arrojaba error ya que no
se estaría importando de forma completa un módulo.
 Se podían llamar funciones específicas de un módulo, para ello se hacía uso de
from…import, esto nos ayudaba a simplificar un poco más las líneas de código
necesarias para llamar cada función.
 Los paquetes podían contener varios módulos, y para llamarlos era necesario separar
el nombre del paquete con un punto; también se podía hacer uso de from…import
para llamar módulos específicos y sus respectivas funciones.

CONCLUSIONES:
 Los paquetes se podrían considerar como directorios los cuales contienen uno o más
módulos, esto para ordenar entre las distintas funciones que cumple cada uno, por
ejemplo, el paquete ‘física’ y sus módulos calorimetría, termodinámica, mecánica,
electricidad, etc.
 Los módulos se podrían considerar como conjunto de funciones, en este caso, pues
fueron llamadas como a una librería la cual contiene varias herramientas (funciones).
 Para llamar funciones específicas de un módulo, es necesario el uso de from…import,
caso contrario, pues se arrojaría un error al tratar de llamar una función solo con
import, en cambio para navegar entre directorios de paquetes y módulos, estos se
podían separar con un punto dentro de un orden jerárquico.
 Si queremos llamar un módulo específico dentro de un paquete, se podía hacer uso de
un import o from…import, y si queremos atribuir un alias a este módulo, podemos
colocar al final ‘as’ y el nombre por el cual lo queremos reemplazar temporalmente.
 Los módulos son de mucha utilidad si no queremos saturar las líneas de código
principal, ya que como en el lenguaje de hipertexto HTML y los estilos, CSS, estos se
pueden guardar en archivos distintos y con tan solo hacer un llamado, podemos
obtener todas las funciones de este módulo.

"Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo”. Benjamín Franklin (1706-1790)

This study source was downloaded by 100000865550505 from CourseHero.com on 07-13-2023 18:39:48 GMT -05:00

https://www.coursehero.com/file/179616981/Lab-13-M%C3%B3dulos-y-paquetes-en-Pythondocx/
Powered by TCPDF (www.tcpdf.org)

También podría gustarte