S3Eva_IT2016_T2 sensar cultivos con dron

Propuesta de solución en Python:

# 3ra Evaluación I Término 2016
# tema 2. drones en cultivo
import numpy as np
import random 

def  sensarCultivos(posicion):
    # Solo para generar una matriz que
    # permita trabajar con el programa
    valor=int(random.random()*10+1)
    return(valor)

def generarplantacion(dimension):
    n=dimension[0]
    m=dimension[1]
    plantacion=np.zeros(shape=(n,m),dtype=int)
    i=0
    while not(i>=n):
        j=0
        while not(j>=m):
            posicion=[i,j]
            valor = sensarCultivos(posicion)
            plantacion[i,j]=valor
            j=j+1
        i=i+1
    return(plantacion)

# usa matriz densidad de 1 y 0 para facilitar 
# el cálculo del literal c
def analizarDensidad(plantacion, limite):
    tamano=np.shape(plantacion)
    n=tamano[0]
    m=tamano[1]
    densidad=np.zeros(shape=(n,m),dtype=int)
    resultado=[]
    i=0
    while not(i>=n):
        fila=[]
        j=0
        while not(j>=m):
            if (plantacion[i,j]>=limite):
                densidad[i,j]=1
                fila.append('ALTO')
            else:
                fila.append('Bajo')
            j=j+1
        resultado.append(fila)
        i=i+1
    
    return(densidad)

def reporteCrecimento(plantacion,densidad):
    tamano=np.shape(plantacion)
    n=tamano[0]
    m=tamano[1]
    casillas=n*m
    
    sumaALTO=0
    sumaBAJO=0
    i=0
    while not(i>=n):
        j=0
        while not(j>=m):
            valor=plantacion[i,j]
            if (densidad[i,j]==1):
                sumaALTO=sumaALTO+valor
            else:
                sumaBAJO=sumaBAJO+valor
            j=j+1
        i=i+1
    prmALTO=sumaALTO/(np.sum(densidad))
    prmBAJO=sumaBAJO/(n*m-np.sum(densidad))
    promedio=[prmALTO,prmBAJO]
    return(promedio)

crear un archivo de funciones para importar si las funciones se crean en otro archivo.

import dronescultivos as dron

# PROGRAMA
# INGRESO , usa datos aleatorios como prueba
dimension = (3,4)
plantacion = dron.generarplantacion(dimension)

#PROCEDIMIENTO
limite = 4
densidad = dron.analizarDensidad(plantacion, limite)
reporte = dron.reporteCrecimento(plantacion,densidad)

#SALIDA
print(plantacion)
print(densidad)
print(reporte)