Professional Documents
Culture Documents
L4 Funciones
L4 Funciones
II Ciclo
I. Objetivos
● Comprender el uso de 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
Ejercicio 4: Copiar el programa de abajo, modificar para el ingreso de n valores de grados, compilar, analizar y
comentar lo que sucede.
En resumen, el uso de f-strings facilita la incorporación de variables y expresiones en cadenas de texto de una
manera más legible y concisa. Es especialmente útil cuando necesitas combinar texto con valores variables o el
resultado de expresiones.
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.
El programa imprimirá dos números aleatorios seleccionados de la lista t. Los números impresos pueden
cambiar en cada ejecución del programa debido a la naturaleza aleatoria de random.choice().(se usan
mayormente para paginas donde se hacen sorteos)
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.
Ejercicio 15: 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.
Ejercicio 17:
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
En resumen, en el segundo bloque de código, la función subrutina utiliza la variable global a y además la
modifica. Esto es posible gracias a la declaración global que permite alterar el valor de la variable global desde
dentro de la función.
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
promedio = sum(notas) / len(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("|-------------------------------------|--------|")
print("| Mostrar notas ingresadas | 2 |")
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.")
V. Observaciones:
VI. Conclusiones:
Comprender el uso de funciones:
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