我不明白爲什麼函數給我一個不正確的結果1,000,100,000.7423575,而不是原來的結果應該是1,000,000,000.75。 工作已經給了我們,我們需要實現Python,高階函數的功能,並且構建我的代碼。只要提到在代碼的某些部分在社區中使用了其他代碼。 如果你能幫我解決問題,我會很高興。我無法確定我的python梯形規則函數有什麼問題
謝謝
def summ(a, b, f, nextt):
total = f(a)/2.0
while a <= b:
total += f(a)
a = nextt(a)
total += f(b)/2.0
return total
def Tr(fx, a, b, n):
h = float(b - a)/n
return summ(a, b, fx, lambda a:a + h)
print(Tr(lambda x:x**9, 0.0, 10.0, 100000))
http://stackoverflow.com/questions/588004/is-floating-point-math-broken –
@ TadhgMcDonald-Jensen或者考慮到有效數字的模糊比較。 – brianpck
@Silvering你確定嗎?答:你實際上得到了'1 000 100 000.7423575',因爲我得到了'10 001 000 007 423.574'和你發佈的確切代碼。和B:正確的結果應該是1e9 + 0.75?你怎麼會知道這事? –