私はPythonとプログラミングの初心者であり、HTLCSで演習を行っているときにすでに障害にぶつかっています。
問題は、Liebniz近似を使用して円周率(3.14 ...)の値を計算することです。
これが質問を解決するための私のくだらない試みです:
def myPi():
n = 0
value = ((-1) ** n)/(2 * n + 1)
runningtotal = 0
while True:
runningtotal += value
n += 1
value = ((-1) ** n)/(2 * n + 1)
runningtotal *= 4
return runningtotal
もちろん、Pythonインタープリターシェルはwhile Trueのために関数を終了することはなく、while n!= 5000のようなソリューションも機能することは理解していますが、Pythonが終了点自体を見つけて結果を返すようにしたいです。
runningtotalの値と更新されたrunningtotalの値が特定の浮動小数点数で同じになるまで、whileステートメントを実行しようとしましたが、何らかの理由で、各ループで2つの値の最後の浮動小数点が1つ失われたため失敗しました。(runningtotal:3.14157、更新されたrunningtotal:3.14158-> runningtotal:3.14158、更新されたrunningtotal:3.14157->繰り返し)。
これはこのフォーラムでの私の最初の質問です。自分自身を明確にしなかった場合、または気づかなかったStackflowのルールに違反した場合はお知らせください。