Heron の方法は、 √nのより適切な近似を表す一連の数値を生成します。シーケンスの最初の数字は任意の推測です。シーケンス内の他のすべての数値は、次の式を使用して前の数値prevから取得されます。
(1/2)*(prev+n/prev)
nとerrorheron()
の 2 つの数値を入力として受け取る関数を作成することになっています。関数は、 √nの初期推定値 1.0で開始し、連続する近似間の差 (より正確には、差の絶対値) が最大でerrorになるまで、より良い近似を繰り返し生成する必要があります。
usage:
>>> heron(4.0, 0.5)
2.05
>>> heron(4.0, 0.1)
2.000609756097561
これは少し難しいですが、次の 4 つの変数を追跡する必要があります。
# n, error, prev and current
条件付きのwhile ループも必要です。
((current - prev) > error):
whileループの一般的なルールは次のとおりです。
# old current goes into new prev
だから、これは私がこれまでに得たものです。最初はwhileループの下に「if」ステートメントを組み込む方法がわからないため、それほど多くはありません。
def heron(n, error):
guess = 1
current = 1
prev = 0
while (current - prev) > error:
previous==1/2*(guess+n/guess):
print (previous) # just a simple print statement
# in order to see what i have so far
誰かが正しい方向へのいくつかの指針を教えてもらえますか?
ありがとうございました