Python 2.7.xには、以下に示すように、最初の値(インデックスではない)を返す関数が必要な2つのリストがあります。
def first_incorrect_term(polynomial, terms):
for index in range(len(polynomial), len(terms)):
if evaluate(polynomial, index) != terms[index-1]:
return evaluate(polynomial, index)
評価が機能する関数であると仮定しましょう。オブジェクト指向に見えるこれらの3行を、Pythonの「検索」またはそのような関数を使用するものに置き換えたいと思います。
基本的に、私は多項式の数値項を超えて2番目のリストのインデックスを反復処理し(最初のX項が一致すると確信しているため)、それを評価し、期待される項と比較します。項が一致しない最初の例では、評価された多項式を返したいと思います。
Pythonのfind/lambdaなどを使用して、これらの3行の置換を探しています。これは、たとえばリンクで説明されているように、Pythonのパワーを使用していないことが確実にわかるためです。
PS:これはプロジェクトオイラーの問題にいくらか関連していますが、上記のスニペットを使用して解決し、「Python」スキルを向上させたいと思います:)