diff --git a/numpy_questions.py b/numpy_questions.py index 07a10c1..4a27638 100644 --- a/numpy_questions.py +++ b/numpy_questions.py @@ -18,7 +18,7 @@ import numpy as np -def max_index(X): +def max_index(X): """Return the index of the maximum in a numpy array. Parameters @@ -39,12 +39,20 @@ def max_index(X): """ i = 0 j = 0 - # TODO + print(X, np.ndarray) + if isinstance(X, np.ndarray): + print("") + else: + raise ValueError("Not an array") + if (len(X.shape) != 2): + raise ValueError("Not 2D dimension") + max_indices = np.unravel_index(np.argmax(X), X.shape) + i = max_indices[0] + j = max_indices[1] return i, j - def wallis_product(n_terms): """Implement the Wallis product to compute an approximation of pi. @@ -64,4 +72,17 @@ def wallis_product(n_terms): """ # XXX : The n_terms is an int that corresponds to the number of # terms in the product. For example 10000. - return 0. + if (n_terms == 0): + return 2.0 + + pi = 1.0 + for i in range(1, n_terms+1): + print("boucle", i) + left = float((2 * i)/(2 * i - 1)) + print(left) + right = float((2 * i)/(2 * i + 1)) + print(right) + total = left * right + pi = pi * total + print(pi) + return pi*2