Ayuda con una actividad de la universidad. Python.
Publicado por Manuel (12 intervenciones) el 15/06/2017 19:20:49
Hola a todos, tengo dos problemas con un ejercicio de la universidad.
El enunciado dice:
7) Escribir un programa que almacene la información relacionada con pacientes: edad, sexo y si es
diabético. Además, se registra el DNI de cada uno. Utilizá un diccionario para registrar los datos provistos
en la tabla de más abajo. Se pide:
a) Informar cuántos pacientes hay registrados.
b) Informar todas las claves y todos los valores contenidos en el diccionario.
c) Indicar si los pacientes con DNI 14.972.142 y 6.409.217 sufren de diabetes.
d) Calcular la edad promedio de los pacientes con diabetes.
El problema que tengo es que, en el primer paso, cuando coloco mi while con mi break para que me solicite la entrada de todos los pacientes, el break no funciona. Intento con un while seguido de una condicion, e incluso con un while true seguido de un break en un if, y nunca se ejecuta el break, me sigue pidiendo datos sin cesar.
El segundo problema, simplemente es que no sé como hacer para sumar las edades que contiene el diccionario. Intento con un for pero me tira error, también intenté pasar los valores a una lista con la funcion list(), pero tampoco puedo sumar los valores con un for ya que me inserta todo en un solo elemento, no como elementos separados.
Tengo exámen en 3 horas. ¿Ayuda?
El enunciado dice:
7) Escribir un programa que almacene la información relacionada con pacientes: edad, sexo y si es
diabético. Además, se registra el DNI de cada uno. Utilizá un diccionario para registrar los datos provistos
en la tabla de más abajo. Se pide:
a) Informar cuántos pacientes hay registrados.
b) Informar todas las claves y todos los valores contenidos en el diccionario.
c) Indicar si los pacientes con DNI 14.972.142 y 6.409.217 sufren de diabetes.
d) Calcular la edad promedio de los pacientes con diabetes.
El problema que tengo es que, en el primer paso, cuando coloco mi while con mi break para que me solicite la entrada de todos los pacientes, el break no funciona. Intento con un while seguido de una condicion, e incluso con un while true seguido de un break en un if, y nunca se ejecuta el break, me sigue pidiendo datos sin cesar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def pacientes():
dni=input("Ingrese DNI del paciente: ")
listapacientes={}
while True:
edad=input("Ingrese edad: ")
sexo=input("Ingrese sexo: ")
diabetes=input("Ingrese si tiene diabetes o no: ")
listapacientes[dni]=[edad,sexo,diabetes]
print(listapacientes)
print("\n")
print("Acaba de cargar al siguiente paciente: ",listapacientes)
print("Siguiente paciente: ")
print("Recuerde que si quiere finalizar el ingreso de pacientes, debe introducir un dni igual a 0.")
print("\n")
dni=input("Ingrese DNI del paciente: ")
if dni==0:
break
return listapacientes
El segundo problema, simplemente es que no sé como hacer para sumar las edades que contiene el diccionario. Intento con un for pero me tira error, también intenté pasar los valores a una lista con la funcion list(), pero tampoco puedo sumar los valores con un for ya que me inserta todo en un solo elemento, no como elementos separados.
Tengo exámen en 3 horas. ¿Ayuda?
Valora esta pregunta


0