diff --git a/numpy_questions.py b/numpy_questions.py index 07a10c1..250ccd3 100644 --- a/numpy_questions.py +++ b/numpy_questions.py @@ -40,7 +40,16 @@ def max_index(X): i = 0 j = 0 - # TODO + # On vérifie que l'entrée est un tableau numpy + if not isinstance(X, np.ndarray): + raise ValueError("Input array must be 2d") + + # On vérifie que le tableau est en 2D + if X.ndim != 2: + raise ValueError("Input array must be 2d") + + # cherche l'indice du maximum + i, j = np.unravel_index(np.argmax(X), X.shape) return i, j @@ -62,6 +71,15 @@ 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. + # On initialise le produit à 1 + product = 1.0 + + # Formule de Wallis + for n in range(1, n_terms + 1): + term = (4 * n**2) / ((4 * n**2) - 1) + product *= term + + # Pi est 2 fois ce produit + pi = 2*product + + return pi