s3Eva_IIT2009_T2 Registrar alquiler de casilleros

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

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3ra Evaluación II Término 2009
# tema 2. Menu control de casilleros
# propuesta: edelros@espol.edu.ec
# tarea: validar indices en rango de matriz

import numpy

n=int(input('filas de casilleros: '))
m=int(input('columnas de casilleros: '))
# inicializa casilleros con ceros
# usa fila y columna cero, desplazando el indice
casillero=numpy.zeros(shape=(n,m),dtype=int)

opcion='0'
while not(opcion=='5'):
    print('1. Asignar casillero')
    print('2. Devolver casillero')
    print('3. consultar casillero')
    print('4. Estadísticas')
    print('5. salir')
    opcion=input(' Cual opcion: ')
    if (opcion=='1'):
        print('ASIGNAR ')
        f=int(input('fila: '))
        c=int(input('columna: '))
        dato=int(input('dato:'))
        if (casillero[f-1,c-1]==0):
            casillero[f-1,c-1]=dato
            print('casillero asignado')
        else:
            print('** casillero ocupado, solicite otro.. **')
    elif (opcion=='2'):
        print('DEVOLVER')
        f=int(input('fila: '))
        c=int(input('columna: '))
        dato=int(input('dato:'))
        if (casillero[f-1,c-1]==dato):
            casillero[f-1,c-1]=0
            print('casillero liberado')
        else:
            print('el casillero no corresponde al dato')
    elif (opcion=='3'):
        print('CONSULTAR')
        print(casillero)
    elif (opcion=='4'):
        print('ESTADISTICAS')
        ocupado=0
        libre=0
        for f in range(0,n,1):
            for c in range(0,m,1):
                if (casillero[f,c]==0):
                    libre=libre+1
                else:
                    ocupado=ocupado+1
        print('casilleros ocupados: '+str(ocupado))
        print('casilleros libres: '+str(libre))
    elif (opcion=='5'):
        print('gracias por usar el software')
    else:
        print('opcion no existe')