Ejercicios Integradores Resueltos (Listas, Matrices, Diccionarios, Funciones)

7. Diccionario de Pacientes

"""
ESCRIBIR UN CODIGO QUE PERMITA:

MOSTRAR UN MENU CON LAS SIGUIENTES OPCIONES:
    1-CARGA DE DATOS DE PACIENTES
    2-MOSTRAR DATOS DE PACIENTE
    F-FINALIZAR EL PROGRAMA
    
PARA MOSTRAR EL MENU SE UTILIZARA UNA FUNCION LLAMADA mostrar_menu.

SI SE INGRESA 1 SE DEBERA LLAMAR A LA FUNCION carga, QUE CARGARA
UN DICCIONARIO QUE TENGA COMO CLAVES NUMEROS DE DNI, Y COMO VALORES
LISTAS QUE A SU VEZ CONTENGAN LA EDAD DEL PACIENTE Y SU ALTURA.

SI SE INGRESA 2 SE DEBERA INGRESAR POR TECLADO EL DNI DE UN
PACIENTE Y PASARSELO COMO ARGUMENTO A LA FUNCION
mostrar_paciente, BUSCARA EL DNI DENTRO DEL DICCIONARIO Y SI
HAY COINCIDENCIA RETORNARA LOS DATOS DEL PACIENTE PARA QUE
SEAN MOSTRADOS POR PANTALLA. SI NO HAY COINCIDENCIA SE DEBERA
MOSTRAR EL MENSAJE "PACIENTE INEXISTENTE".

SI SE INGRESA F O f SE DEBERA FINALIZAR EL PROGRAMA
"""
def mostrar_menu():
    print("Menu...")
    print("1-CARGA DE DATOS DE PACIENTES")
    print("2-MOSTRAR DATOS DE PACIENTE")
    print("F-FINALIZAR EL PROGRAMA")

def carga():
    dni=int(input("Ingrese el DNI del paciente: "))
    edad=int(input("Ingrese la edad del paciente: "))
    altura=float(input("Ingrese la altura del paciente: "))
    pacientes[dni]=[edad,altura]

def mostrar_paciente(ndni):
    encontrado=False
    for i in pacientes:
        if ndni==i:
            encontrado=True
            return(pacientes[i])
    if not encontrado:
        return([0,0])

pacientes={}

while True:
    mostrar_menu()
    op=input("Ingrese la opcion elegida...")
    
    if op=='1':
        carga()
    elif op=='2':
        numDNI=int(input("Ingrese el DNI del paciente a buscar: "))
        datos=mostrar_paciente(numDNI)
        if not datos==[0,0]:
            print("El paciente con DNI {} tiene {} años y mide {}m.".format(numDNI,datos[0],datos[1]))
        else:
            print("No se encontro al paciente...")
    elif op.upper()=='F':
        print("Finalizando...")
        break
    else:
        print("Opcion incorrecta, reingrese")