前提・実現したいこと
python3.6(spyder)で円周率の値を求めるシステムを作っています。
シグマに300と代入した値と500と代入した値の誤差を調べたいのですがどちらも小数点以下15桁までしか表示されない為同じ値が返ってきてしまい正確な値が分かりません。
返ってくる数字の桁数の増やし方を教えて頂きたいです。
###30~0のソースコード
import math def f(k): return math.sqrt(12)*pow(-1, k)/(pow(3, k)*(2*k+1)) def sigma(func, frm, to): result = 0 for i in reversed(range(frm, to+1)): result += func(i) print(result) sigma(f, 0, 30)
###試したこと
import decimal decimal.getcontext().prec = 16 a = decimal.Decimal(sigma(f, 0, 30)) print(a)
としたのですが
TypeError: conversion from NoneType to Decimal is not supported
とエラーが出てしまいます。
自分では他に方法が思いつかなかったので質問させて頂きました。
よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/19 05:59