4
(テストだけでなく)例外であるように派手な警告をどのようにキャッチしますか?
私がやっているプロジェクトのためにPythonでラグランジュ多項式を作らなければなりません。ニュートンの分割された差分スタイルのスタイルではなく、明示的なforループの使用を避けるために、重心スタイルのスタイルを実行しています。私が抱えている問題は、ゼロによる除算をキャッチする必要があるということですが、Python(または多分numpy)は、通常の例外ではなく警告を生成するだけです。 ですから、この警告を例外であるかのようにキャッチする方法を知る必要があります。私がこのサイトで見つけたこれに関連する質問は、私が必要とする方法ではなく答えられました。これが私のコードです: import numpy as np import matplotlib.pyplot as plt import warnings class Lagrange: def __init__(self, xPts, yPts): self.xPts = np.array(xPts) self.yPts = np.array(yPts) self.degree = len(xPts)-1 self.weights = np.array([np.product([x_j - x_i for x_j in xPts if x_j != x_i]) for x_i in xPts]) def __call__(self, x): warnings.filterwarnings("error") try: bigNumerator …