問題の説明
ボールが100メートルの高さから自由に落下した場合、地面に当たるたびに元の高さの半分に跳ね返り、再び落下します。10回目の地面に当たったとき、ボールは何メートル通過しますか? 10回目のリバウンドはどのくらいですか?
解決
まず、問題を分析し、数学的幾何学的シーケンスを使用して問題に応じてその値を計算します。問題から、問題関数を再帰関数で解決できます。まず、関数定義シンボルdefを使用して新しい関数をカスタマイズし、行再帰関数を使用して入力値を繰り返します。ループしてから、forループを使用して問題のボールのドロップ数に値を割り当て、10番目のドロップ値を取得し、returnを使用して取得した値を返し、以前に定義した関数値を出力します。それでも合計を計算する必要があります。戻り値を判断するときは、出力される関数値が再帰関数の定義を満たしているかどうかに注意してください。
コード例:
def row(n, sums, height):#defは、新しい関数を定義するためのシンボルです,行は、この関数が再帰関数であることを意味します.if n ==10:return sums
print(sums, height)returnrow(n+1, sums+(height*2), height/2) # row()再帰関数の値が出力に返されることを示します.print(row(1,100,50))
1005020025.0250.012.5275.06.25287.53.125293.751.5625296.8750.78125298.43750.390625299.218750.1953125299.609375
結論
python関数の計算方法を習得し、再帰関数を使用して問題を解決し、pythonでのif条件の使用に精通することを学びます。 python関数で返される関数の意味を学びます。
END
チーフエディター|ワンナンラン
責任ある編集者| Shen Zhijian
**能力が強いほど、責任は大きくなります。事実から真実を求め、厳密かつ細心の注意を払ってください。 ****
** -where2goチーム**
Recommended Posts