python - 在长缩放器中出现运行时警告溢出错误
问题描述
我将要计算任何特定数字的斐波那契数列,比如 n。因此,我使用 numpy 库将列表转换为数组。但是,每当我尝试通过总结系列中的先前元素来为迭代中的当前项目分配值时,我都会收到此错误:在长缩放器中出现运行时警告溢出错误。这是我的问题代码:
import numpy
f = list()
for i in range(0,200):
f.append(-1)
fi = numpy.array(f)
def fibbo():
fi[0]=0
fi[1]=1
for i in range(2,200):
k = fi[i-1]
j = fi[i-2]
fi[i]=k + j # I am getting error at this line.
def findfibbo(n):
return fi[n+1]
fibbo()
n = int(input("Enter a number between 0 and 200."))
print(findfibbo(n))
我在这一行收到错误:fi[i] = k+j
解决方案
F(200) 是 280571172992510140037611932413038677189525。它不再适合 64 位的整数,它“溢出”。
使用(不准确但快速)浮点数,或使用一些(准确但慢)BigInt 库。
推荐阅读
- python - json数组转换成json数组 - Python
- amazon-web-services - 在 Windows 上为 python-docx 库创建 Python AWS Lambda 部署包时出错
- sharepoint - SharePoint 2016 网站集 Web 分析报告为空
- numpy - numpy/scipy 中的异形渐变填充
- sed - 使用 sed 在数字文本周围加引号
- javascript - 选中单选按钮时更改不同元素的类名
- android-file - 为什么我不能在 android 10 中使用 whit 文件?
- amazon-web-services - 为 EC2 实例的非特权用户承担角色“拒绝访问”
- python - 如何单击“下一步”并使用 Selenium 浏览所有页面?
- amazon-web-services - AWS SSM、AutoScalingGroup 和 LoadBalancer