Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. (3 puntos) Implementa una función suma_fichero que devuelve el sumatorio de los números
enteros almacenados en un fichero de texto, teniendo en cuenta que si el fichero no existe en
el sistema de archivos, devuelve None.
Si el fichero sí que existe, se lee cada una de sus líneas. En cada una puede haber un
número entero o un valor no entero. Al encontrar un entero, se debe añadir al sumatorio. Al
encontrar un valor no entero, debe imprimirse por pantalla (es importante no imprimir líneas
vacías adicionales para superar el pytest). La función debe devolver el resultado del
sumatorio obtenido.
2. (3 puntos) Implementa una función percentil que acepte dos argumentos: lista (una lista
ordenada de menor a mayor) y n (un elemento de esa lista), y que devuelva el percentil de n
con respecto a lista.
Para calcular un percentil es necesario encontrar el índice en el que se encuentra n y dividirlo
por la longitud de la lista menos 1.
Ejemplo: en la lista [1, 2, 3], 1 tiene el percentil 0, 2 tiene el percentil 0.5 y 3 tiene el
percentil 1. No está permitido utilizar la función index().
No es necesario considerar los casos en los que no hay elementos en la lista. Tampoco es
necesario considerar el caso en que el elemento no esté en la lista. En caso de que un
elemento aparezca varias veces, se ha de tener en cuenta la primera vez que aparece (por
ejemplo, en la lista [1, 1, 2], 1 tiene el percentil 0).
3. (4 puntos) Implementa un par de funciones que permiten determinar si un número es
perfecto. En ambas, solo debes considerar como entrada los números naturales (> 1).
3.1. La función divisores toma un parámetro natural x y devuelve una lista con los divisores
de x. Por ejemplo, divisores(6) debería devolver [1, 2, 3, 6].
3.2. La función es_perfecto tiene un parámetro natural n y devuelve un booleano que indica si
el número es perfecto o no.
Un número z es perfecto si la suma de los divisores de z es igual a z multiplicado por
dos. Para el cálculo de divisores, se debe emplear la función divisores.
Por ejemplo, 6 es un número perfecto: sus divisores son 1, 2, 3, 6; y su suma es 12 = 6 ×
2. 10 no es un número perfecto, porque sus divisores son 1, 2, 5, 10; y su suma es 18 6=
10 × 2. Los cuatro primeros números perfectos son 6, 28, 496 y 8128.
TURNO 2