0
我從1970年代的流程圖和演算例子中得到了一個weird, old book這個例子。這篇文章寫得不是很好,但我很樂意將流程圖寫入Python,並試圖弄清楚這些方程式實際是什麼以及它們是如何工作的。爲什麼我的Python3代碼返回一個OverflowError?
這個特殊的例子聲稱代表馬爾薩斯和Verhulst種羣增長模型的線性近似。 (買者講師:我能找到我的書的公式和所謂Verhulst的方程或物流功能之間沒有關係。)
import math
def malthus_verhulst():
a = int(input("please enter a value for a\n:%"))
b = int(input("please enter a value for b\n:%"))
c = int(input("please enter a value for c\n:%"))
p = []
v = []
p1 = float(input("please enter a value for p1\n:%"))
v1 = float(input("please enter a value for v1\n:%"))
p.append(p1)
v.append(v1)
for k in range(50):
p.append((1+c)*p[k])
v.append(v[k]+(a*v[k] - math.pow(b*v[k],2)))
print(p,v)
有改寫這個到它的工作方式對於a,b,c,p1和v1的各種值?
$ python -i scratchpad.py
>>> malthus_verhulst()
please enter a value for a
:%2
please enter a value for b
:%2
please enter a value for c
:%2
please enter a value for p1
:%2
please enter a value for v1
:%2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "scratchpad.py", line 92, in malthus_verhulst
v.append(v[k]+(a*v[k] - math.pow(b*v[k],2)))
OverflowError: math range error
>>>