s2Eva_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
# 2da Evaluación I Término 2010
# Tema 3. Donantes ONTOT
# propuesta solucion: edelros@espol.edu.ec

import numpy
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 pora 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
        # tamanio 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=numpy.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')