From 7f76c84ae258fcebc1e8d085dc19a969590c11ee Mon Sep 17 00:00:00 2001 From: Akshita Kumar Date: Mon, 16 Dec 2024 22:45:13 +0100 Subject: [PATCH 1/2] Completed code for numpy_questions.py --- numpy_questions.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/numpy_questions.py b/numpy_questions.py index 07a10c1..3c608aa 100644 --- a/numpy_questions.py +++ b/numpy_questions.py @@ -40,7 +40,26 @@ def max_index(X): i = 0 j = 0 - # TODO + if X is None: + raise ValueError("Input is None") + + if not isinstance(X, np.ndarray): + raise ValueError("Input is not a valid numpy array") + + if len(X.shape) != 2: + raise ValueError("Input shape is not 2D") + + max_val = X[i, j] + + for row_idx in range(X.shape[0]): + for col_idx in range(X.shape[1]): + if X[row_idx, col_idx] > max_val: + i = row_idx + j = col_idx + max_val = X[row_idx, col_idx] + + # idx = np.argmax(X) + # (i,j) = np.unravel_index(idx, X.shape) return i, j @@ -64,4 +83,9 @@ 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. + pi_approx = 1 + + for i in range(n_terms): + pi_approx *= (4 * ((i + 1) ** 2)/(4 * ((i + 1) ** 2) - 1)) + + return 2*pi_approx From 7375dafcafc031f10e59d040a58b617daf8910e0 Mon Sep 17 00:00:00 2001 From: Akshita Kumar Date: Fri, 20 Dec 2024 14:19:07 +0100 Subject: [PATCH 2/2] Edits to follow flake8 convention. --- numpy_questions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/numpy_questions.py b/numpy_questions.py index 3c608aa..2cdec07 100644 --- a/numpy_questions.py +++ b/numpy_questions.py @@ -42,15 +42,15 @@ def max_index(X): if X is None: raise ValueError("Input is None") - + if not isinstance(X, np.ndarray): raise ValueError("Input is not a valid numpy array") - + if len(X.shape) != 2: raise ValueError("Input shape is not 2D") - + max_val = X[i, j] - + for row_idx in range(X.shape[0]): for col_idx in range(X.shape[1]): if X[row_idx, col_idx] > max_val: