Professional Documents
Culture Documents
L4 Funciones
L4 Funciones
II Ciclo
I. Objetivos
● Comprender el uso de funciones
● Identificar los usos y tipos de funciones
● Implementar aplicaciones con funciones
II. Seguridad
Advertencia:
● Obligatorio el uso de Mascarilla y careta de protección
● Desinfectar las manos con alcohol al ingreso del laboratorio
● Mantener siempre la distancia durante el laboratorio
● No obstruir las vías de evacuación con mochilas, sillas en mala
posición, etc.
● Ubicar maletines y/o mochilas al final del aula o en los casilleros
asignados al estudiante.
● No ingresar con líquidos, ni comida al aula de Laboratorio.
● Al culminar la sesión de laboratorio apagar correctamente la
computadora y la pantalla, y ordenar las sillas utilizadas.
● En este laboratorio está prohibida la manipulación del hardware,
conexiones eléctricas o de red
Se puede observar que en este reconoce cada uno de los datos que se le dio como por ejemplo *str*
que significa que es de tipo de cadena de texto(string).
Luego en ¨class int¨ donde Significa que la variable número es de tipo entero (integer).
Y por ultimo Float que indica que la variable ´´numerof´´ es un numero decimal .
En resumen, estas líneas de código ilustran cómo se pueden usar funciones de conversión
(int(), float(), str()) para cambiar entre diferentes tipos de datos en Python. Es importante tener
en cuenta que las conversiones solo son posibles si el valor se puede interpretar en el nuevo
tipo de dato. Si intentas convertir algo que no es compatible, Python generará un error.
En el siguiente código importamos match para poder acceder a sus funciones y luego con el comando
¨cell¨ se redondeo el numero al mas cercano y lo contrario a este seria “floor” el cual redondea hacia
abajo.
Ejercicio 3: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.
En resumen, este código solicita al usuario que ingrese un número, lo convierte en un entero y
luego calcula y imprime los decibelios correspondientes al valor ingresado
En este ejemplo podemos observar el uso de (RANDOM) el cual elije un numero al azar entre el
rango que le dago (for in range) en el cual solo se presenta con dos decimales gracias al “2f”.
Ejercicio 7 (Reto Tecsup): Modificar el programa para que se detenga cuando te de tres dieces a la
misma vez, con lo cual te imprimirá las veces que se itero el programa.
Para realizarlo se usó el comando “while” el cual se le presenta la condición que una vez se inicie el
bucle este se detenga cuando encuentre 3 veces 10 consecutivo.
Ejercicio 8:
Ejercicio 9:
Podemos observar el uso de crear una propia definición y también vemos que se puede repetir
colocando esta dos veces.
Ejercicio 11: ¿Cuál es la utilidad de la palabra clave “def” en Python?
A. Es una jerga que significa “este código es realmente estupendo”
B. Indica el comienzo de una función
C. Indica que la siguiente sección de código indentado debe ser almacenada para usarla más
tarde
D. b y c son correctas ambas
E. Ninguna de las anteriores
Ejercicio 12: ¿Qué mostrará en pantalla el siguiente programa Python después de corregir la falla?
Ejercicio 13: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.
Ejercicio 14: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.
Podemos observar que ahora se definieron mas variables por ello se obtuvo distintas respuestas.
Ejercicio 16: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.
La tupla reconoce como argumentos los nombres que se les da y por ello esta función permite pasar
cualquier cantidad de nombres como argumentos y luego los imprime uno por uno.
Se define la función fsalario que calcula el salario considerando horas trabajadas y tarifa, con manejo
de excepciones para valores no numéricos.
El programa principal solicita al usuario las horas y la tarifa, luego llama a fsalario para calcular el
salario y lo imprime.
Si el usuario ingresa un valor no numérico, se maneja la excepción y se muestra el mensaje de error
correspondiente.
El comando principal que use fue return "Sobresaliente": Si la puntuación es válida y cumple con una
condición, la función devuelve la calificación "Sobresaliente", y así sucesivamente para otras
calificaciones. Si no, devuelve "Puntuación incorrecta".
Ejercicio 19: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.
Aunque dentro de la función subrutina() se definió otra variable a con el valor 1, esta es una variable
local que solo es válida dentro de la función. No afecta a la variable global a que se creó fuera de la
función, la cual tiene un valor de 5.
Por lo tanto, cuando se imprime a en el programa principal, se está refiriendo a la variable global a, y
el valor impreso será 5, no 1. Esto es porque las variables locales solo son accesibles dentro de la
función en la que se crearon.
Ejercicio:19.1
Ejercicio 20 (tarea para la casa): Completar y mejorar el programa de abajo para los menús del 3 al 9.
notas = []
def ingresarNotas():
global notas
nNotas = int(input("Ingrese el número de notas: "))
notas = []
for i in range(nNotas):
num = float(input(f"Introduce la nota {i + 1}: "))
notas.append(num)
os.system("pause")
os.system("cls")
def notasIngresadas():
global notas
print("Las notas ingresadas son:", notas)
os.system("pause")
os.system("cls")
def notasDeMenorAMayor():
global notas
notas.sort()
print("Notas ordenadas de menor a mayor:", notas)
os.system("pause")
os.system("cls")
def promedioNotas():
global notas
def notasAprobadas():
global notas
aprobadas = [nota for nota in notas if nota >= 13.0]
print("Notas aprobadas:", aprobadas)
os.system("pause")
os.system("cls")
def notasDesaprobadas():
global notas
desaprobadas = [nota for nota in notas if nota < 13.0]
print("Notas desaprobadas:", desaprobadas)
os.system("pause")
os.system("cls")
def borrarDatos():
global notas
notas.clear()
print("Datos de notas eliminados.")
os.system("pause")
os.system("cls")
def minmax():
global notas
if len(notas) > 0:
min_nota = min(notas)
max_nota = max(notas)
print(f"Nota mínima: {min_nota}")
print(f"Nota máxima: {max_nota}")
else:
print("No hay notas ingresadas.")
os.system("pause")
os.system("cls")
def salirSistema():
exit()
while True:
print("Seleccione una opción: ")
print("|-------------------------------------|--------|")
print("| | |")
print("| Función | Opción |")
print("| | |")
print("|-------------------------------------|--------|")
print("| Ingresar notas | 1 |")
print("|-------------------------------------|--------|")
if valor == 1:
ingresarNotas()
elif valor == 2:
notasIngresadas()
elif valor == 3:
notasDeMenorAMayor()
elif valor == 4:
promedioNotas()
elif valor == 5:
notasAprobadas()
elif valor == 6:
notasDesaprobadas()
elif valor == 7:
borrarDatos()
elif valor == 8:
minmax()
elif valor == 9:
salirSistema()
else:
print("Opción no válida. Por favor, ingrese una opción del 1 al 9.")
VI. Conclusiones:
Comprender el uso de funciones:
Crear nuestras propias funciones puede ser crucial para poder evitarnos desperdiciar
tiempo por lo que es esencial para seleccionar la herramienta adecuada para cada tarea,
lo que demuestra un dominio significativo de las capacidades de programación en Python.
VII. Normas Generales:
1. Presentar como informe de laboratorio el titulo, número de laboratorio, nombres, fechas,
entregables(Lo resaltado en amarillo), observaciones, conclusiones y su propia bibliografía. No
colocar, objetivos, seguridad , equipos y materiales, fundamento teórico, procedimientos,
normas generales y anexo, ya que el turnitin va a reconocer un alto porcentaje de copia.
2. Por cada captura de pantalla que se realice, se deberá comentar en no menos de 3 líneas
explicando la figura o procedimiento.
3. La presentación del informe se realiza por el Canvas, un día antes de que se cumpla la semana de
realizado el laboratorio (6 días), no se revisa por otro medio.
4. Se penalizará con puntos en contra las faltas de ortografía en la redacción del informe, la
presentación fuera del tiempo indicado, en especial la falta de orden.
5. Se evaluará con nota cero si el nombre de uno de los participantes no está incluido en el informe,
incluir a un alumno que no ha participado en la experiencia de laboratorio, el nombre del profesor
está mal escrito, la presentación del informe por otro medio que no sea el Canvas, o el más mínimo
intento de plagio.
6. Se dará una bonificación de un punto a aquel alumno que publique en el foro de consultas, alguna
información relevante del tema tratado en la semana o encuentre alguna falla de redacción u
ortografía en las presentaciones y guías de laboratorio, así como de algún error en el Canvas.
7. Pasada una semana de la publicación de la nota en el SEVA, se dará por entendido la conformidad
del alumno con su nota, es responsabilidad del alumno la verificación de la conformidad de su nota,
en caso de algún reclamo pasada la semana, ya no será tomada en cuenta.
VIII. Bibliografía
1. Desarrollo inicial: Charles Severance, Facultad de Información de la Universidad de Michigan
2. Charles R. Severance (2020). Python para todos “Explorando la información con Python 3” Estados
Unidos: Copyright ~2009- Charles Severance.
3. math-Funciones matemáticas. (17 de mayo de 2021).
https://docs.python.org/es/3.8/library/math.html
IX. Anexo