I am trying to answer the same exam question as this OPを使用します。投稿は関連していますが、要求されたヘルプは異なります。Python 3:リストを評価するにはn * x ** k(general_poly)
私は私のテストケースについて話しましょう、なぜ私はそれが一瞬で意味的な誤りである必要がありますが、考えている最初の...
は、試験問題:
Write a function called general_poly, that would, for example, evaluate >general_poly([1, 2, 3, 4])(10) to 1234 because *1*10^3 + 2*10^2 + 3*10^1 + >4*10^0*.
So in the example the function only takes one argument with general_poly([1, 2, 3, 4]) and it returns a function that you can apply to a value, in this case x = 10 with general_poly([1, 2, 3, 4])(10).
私のコード:
def general_poly(L):
def in_poly(x):
total = 0
for i in range(0, len(L)):
k = (len(L)-1) - i
total += (L[i] * (x**k))
return total
return in_poly(x)
我々はエラー(s)は、具体的またはコードをテストするために使用されるリスト与えられた、唯一の合格/不合格いるもの語られていない(エラースロー)、およびCOR 6つのテストのそれぞれについての正解です。
ただし、最初の質問に対する回答が1234であるため、ヒントが与えられています。これは例です。
少なくとも1つは正しいと思っていますが、コードは6つのテストすべてに失敗しています。電卓で結果を検証 - -
これら
は、私が実行したテストケースの一部ですので、私は間違っている計算とは思わない: general_poly:- ([1,2,3 、4,1,2,3,4])(10)= 12341234;
- ([1,2,3,4])(0)= 4;
- ([1,2,3,4])( - 7)= -262;
- ([5,6,7,8,9])(28)=713;
- ([103、42、-78、-3.26])(9)= 77783.74
Iはまた、インデントをチェック出力があったことが確認され、ラインによってそれを介してラインを実行し、スペルをチェックしています幸運はありません。
私はgeneral_poly(L)(x)として機能を呼び出せないという事実に接続されているかもしれません。私は関数を呼び出す前に、個別のxを宣言するために持っているか、私が手:
TypeError: 'int' object is not callable
@Morgan Thrapp私はちょうど私のコードのフォーマットエラーを編集しようとしましたが、あなたはそれを打ちました。ありがとうございました。 – Dethcow
問題ありません。マークダウンでフォーマットされたコードの前に空白行がなければなりません。 –