diff --git a/numpy_questions.py b/numpy_questions.py index 07a10c1..efa42be 100644 --- a/numpy_questions.py +++ b/numpy_questions.py @@ -40,8 +40,12 @@ def max_index(X): i = 0 j = 0 - # TODO - + if not isinstance(X, np.ndarray): + raise ValueError("This input is not a numpy array") + if X.ndim != 2: + raise ValueError("Input is not 2D") + arg = np.argmax(X) + i, j = np.unravel_index(arg, X.shape) return i, j @@ -62,6 +66,8 @@ def wallis_product(n_terms): pi : float The approximation of order `n_terms` of pi using the Wallis product. """ - # XXX : The n_terms is an int that corresponds to the number of - # terms in the product. For example 10000. - return 0. + p = 1.0 + if n_terms > 0: + for i in range(1, n_terms + 1): + p *= (2.0 * i / (2.0 * i - 1.0)) * (2.0 * i / (2.0 * i + 1.0)) + return 2.0 * p