s2Eva_IT2010_T3 Registrar donantes ONTOT

Ejercicio: 2Eva_IT2010_T3 Registrar donantes ONTOT

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2010_T3 Registrar donantes ONTOT
# propuesta solucion: edelros@espol.edu.ec

import numpy as np
donante = []

opcion = 0
while not(opcion==5):
    print('1. Ingreso de donantes ')
    print('2. Ingresar estado con prueba medica')
    print('3. Consulta por estado de donantes ')
    print('4. Total de donantes/tipo de sangre')
    print('5. Salir')

    opcion = int(input('cual opcion:'))

    if (opcion==1):      
        print('1. Ingreso de donantes ')
        texto  = input('nombre: ')
        numero = input('cedula: ')
        numb   = int(input('anio nacimiento:'))
        print('(1)O-, (2) O+, (3) A-, (4)A+, (5)B-, (6)B+, (7)AB-, (8)AB+')
        sangre = int(input('tipo sanguineo:'))

        estado = 1
        # crea el registro para un donante
        registro = {'nombre':texto,'cedula':numero,
                    'nacim':numb, 'tipos':sangre,
                    'estado':1}
        
        # añade el registro a la tabla donante
        donante.append(registro)

        
    if (opcion==2):
        print('2. Ingresar estado con prueba medica')
        quien  = int(input('cual numero de donante:'))
        cuanto = int(input(' (2) Aceptado , (3) Rechazado :'))
        donante[quien]['estado'] = cuanto
        
    if (opcion==3):
        print('3. Consulta por estado de donantes ')
        cual = int(input('cual estado: '))
        fila = 0
        
        # tamaño de la tabla donante
        n = len(donante)
        while not(fila>=n):
            if (cual==donante[fila]['estado']):
                print(donante[fila]['nombre'])
            fila = fila + 1
        
    if (opcion==4):
        print('4. Total de donantes/tipo de sangre')

        # No se usará la fila 0 de veces
        veces = np.zeros(8+1,dtype=int)
        fila = 0
        while (fila<n):
            k = donante[fila]['tipos']
            veces[k] = veces[k] + 1
            fila = fila + 1
        
        print(veces)
        
    if (opcion==5):
        print(' gracias por usar el software')
        
    if (opcion<1 or opcion>5):
        print('NO ES OPCION DISPONIBLE')