Skip to content

Instantly share code, notes, and snippets.

@marcelcaraciolo
Created August 5, 2011 01:50
Show Gist options
  • Save marcelcaraciolo/1126772 to your computer and use it in GitHub Desktop.
Save marcelcaraciolo/1126772 to your computer and use it in GitHub Desktop.
Dojo
#-*-coding:utf-8 -*-
"""
Neste primeiro dojo, vamos tentar resolver um problema bem simples com o
objetivo de ter um primeiro contato com as bibliotecas Numpy e Scipy.
Problema: Dada uma matriz de dimensão qualquer, encontrar o elemento de
valor máximo e o elemento de valor mínimo.
Exemplos:
1) Para a matriz
[1 2 3
4 5 6
7 8 9],
de dimensão 3x3, o programa deve retornar 9 como sendo o máximo e 1 como sendo o mínino.
a
2) Para a matriz
[1 2 3 4 5],
de dimensão 1x5, o programa deve retornar 5 como sendo o máximo e 1 como sendo o mínimo.
"""
import numpy
from numpy.testing import assert_array_equal
import unittest
def max_min_matriz(matriz):
if len(matriz) != 0:
ordered_matriz = numpy.sort(matriz)
minimo,maximo = ordered_matriz[0], ordered_matriz[-1]
else:
raise ValueError('matriz vazia!')
return minimo,maximo
class TestMaxMinMatrix(unittest.TestCase):
def test_minmax_vector(self):
matriz = numpy.array([1,2,3,4,5])
self.assertEquals((1,5), max_min_matriz(matriz))
def test_empty_vector(self):
matriz = numpy.array([])
self.assertRaises(ValueError,max_min_matriz,matriz)
def test_minmax_matriz(self):
matriz = numpy.array([ [1,2,3], [4,5,6] , [7,8,9] ])
self.assertEquals((1,9), max_min_matriz(matriz))
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment