-
En un módulo
funciones_ui.pyimplementa una funciónsolicitar_datos_personaque solicite por consola a un usuario su nombre, su peso y su estatura, y devuelva una tupla formada por un entero y dos reales con estos tres valores. Un ejemplo de uso sería el siguiente:>>> Introduzca su nombre: Jane >>> Introduzca su peso (en kg): 75 >>> Introduzca su estatura(en metros): 1.90
En este caso, la función debe devolver la tupla
('Jane', 75.0, 1.90). Pruebe la función en un módulotest_funciones_ui.py. -
En el módulo
funciones_ui.pyimplementa una funciónsolicitar_datos_personasque, dado un número n. solicite por consola los datos de n personas y devuelva una lista de tuplas con los datos de las n personas. Si el parámetro n toma el valor 3, un ejemplo de uso sería el siguiente:Introduzca los datos de la persona 1 Introduzca su nombre: Jane Introduzca su peso (en kg): 60.0 Introduzca su estatura (en m): 1.55 Introduzca los datos de la persona 2 Introduzca su nombre: John Introduzca su peso (en kg): 90 Introduzca su estatura (en m): 1.75 Introduzca los datos de la persona 3 Introduzca su nombre: Mary Introduzca su peso (en kg): 67 Introduzca su estatura (en m): 1.79
En este caso, la función debe devolver la lista:
[('Jane', 60.0, 1.55), ('John', 90.0, 1.75), ('Mary', 67.0, 1.79)]. Pruebe la función en el módulotest_funciones_ui.py. -
En un módulo
funciones_personas.pyimplementa una funciónestatura_mediaque, dada una lista de tuplas con datos de personas, devuelva la estatura media de las personas de la lista. Si la media no se puede calcular, devuelveNone. Pruebe la función en un módulotest_funciones_personas.py. Haz dos pruebas distintas: (1) Usa la funciónsolicitar_datos_personaspara generar una lista de tuplas y úsala como entrada a la función, (2) Crea listas de tuplas de forma manual y prueba la función con estas listas de tuplas.>>> estatura_media ([('Jane', 60.0, 1.55), ('John', 90.0, 1.75), ('Mary', 67.0, 1.79)]) 1.6974999999999998 >>> estatura_media ([("Jane", 60, 1.50), ("John", 70, 1.69), ("Mary", 65, 1.70), ("Paul", 80, 1.90) ] 1.6966666666666665 >>>estatura_media([('Ana', 50.0, 1.60)]) 1.6 >>>estatura_media([]) None
-
En el módulo
funciones_personas.pyimplementa una funciónexiste_persona_con_problemas_pesoque, dada una lista de tuplas con datos de personas, devuelva cierto si hay alguna persona en la lista con problemas de peso. Una persona tiene problemas de peso si su estado nutricional es "Bajo peso" u "Obesidad". Reutilice la funciónestado_nutricionalimplementada en ejercicios anteriores.>>> existe_persona_con_problemas_peso ([('Jane', 60.0, 1.55), ('John', 100.0, 1.70), ('Mary', 67.0, 1.79)]) True >>> existe_persona_con_problemas_peso ([('Jane', 60.0, 1.55), ('John', 70.0, 1.79), ('Mary', 50.0, 1.80)]) True >>> existe_persona_con_problemas_peso ([('Jane', 60.0, 1.55), ('John', 70.0, 1.79), ('Mary', 67.0, 1.79)]) False
-
En el módulo
funciones_personas.pyimplementa una funcióncontar_superan_estatura_mediaque, dada una lista de tuplas con datos de personas, devuelva el número de personas de la lista que superan la estatura media. Reutilice la funciónestatura_mediaimplementada en ejercicios anteriores.>>>contar_superan_estatura_media ([('Jane', 60.0, 1.55), ('John', 90.0, 1.75), ('Mary', 67.0, 1.79)]) 2 >>>contar_superan_estatura_media ([("Jane", 60, 1.50), ("John", 70, 1.69), ("Mary", 65, 1.70), ("Paul", 80, 1.90) ] 2 >>>contar_superan_estatura_media([('Ana', 50.0, 1.60)]) 0 >>>contar_superan_estatura_media([]) 0
-
En el módulo
funciones_personas.pyimplementa una funcióntodos_superan_estaturaque, dada una lista de tuplas con datos de personas, y un número real que representa una estatura, devuelva cierto si todas las personas de la lista tienen una estatura superior o igual a la dada como parámetro.>>>todos_superan_estatura ([('Jane', 60.0, 1.55), ('John', 90.0, 1.75), ('Mary', 67.0, 1.79)], 1.70) False >>>todos_superan_estatura ([('Jane', 60.0, 1.55), ('John', 90.0, 1.75), ('Mary', 67.0, 1.79)], 1.50) True >>>todos_superan_estatura([], 1.70) True
-
En el módulo
funciones_personas.pyimplementa una función, que dada la ruta a un archivo con información de personas (su nombre, su estatura y su peso), devuelva una lista de tuplas con los datos leídos de las personas. -
En el módulo
funciones_personas.pyimplementa una segunda versión de la función anterior usandocsv.reader.
- Modifica el código de las funciones de los bloques 1 y 2 para usar la siguiente
namedtuple(que debe añadir al módulofunciones_personas.py).
Persona = namedtuple ("Persona", "nombre, peso, estatura")