- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码来计算斐波那契数列的元素。代码按原样正常工作
def fib(n, lookup=dict()):
if n == 0 or n == 1:
lookup[n] = n
# This works
if n not in lookup:
# However, this doesn't
# if not lookup.get(n):
lookup[n] = fib(n - 1, lookup) + fib(n - 2, lookup)
return lookup[n]
print(fib(6))
现在,如果我使用
如果不是lookup.get(n):
而不是:
如果 n 不在查找中:
即使我只计算第 6 个元素,我也收到了 RecursionError!:
RecursionError: maximum recursion depth exceeded in comparison
为什么会出现这个错误?
最佳答案
lookup.get(0) -> 0
0 in lookup -> True
0 是一个“假”值,当您得到一个假值时,您会递归,因此带有 get
的版本会导致您在达到零时无限递归(到无限负值,因为您没有对此进行检查)。
关于python - 使用 dict.get() 的斐波那契数列和 RecursionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58637244/
当我收到此错误时,此递归阶乘计算器一直运行良好,直到输入 994:“RecursionError:比较时超出最大递归深度”。有人可以解释一下这是什么意思吗?递归的最大数量怎么可能?提前致谢。 def
我正在尝试使用递归函数迭代嵌套字典,但是我最终收到一条消息,上面写着 RecursionError: maximum recursion depth exceeded while calling a
我正在尝试编写一个由任意数量的 lambda 函数组成的函数。 我有两个简单的 lambda 函数。 f = lambda x: x + 1 g = lambda x: x**2 我对组合函数的尝试是
import random class cards(): def __init__(self,val,suit): self.val = val self.su
我在 Python 中编写了以下用于快速排序的代码,但出现RecursionError: maximum recursion depth exceeded in comparison。在运行另一个具有
所以我尝试使用 sys.getrecursionlimit() 和 sys.setrecursionlimit() 方法。默认递归限制为 3000。 我尝试使用以下代码对其进行检查: def recu
我有一个 python 应用程序,它可以在 python 上完美运行,但在运行 cythonized 脚本时出现错误。 当我用 cython 编译脚本时,一切都编译正常,我在带有 Linux 的 Ra
代码如下所示。我只知道 RecursionError 的原因是 student.age 在 Descriptor 中以无限循环调用 __get__ 。但是,我既不知道根本原因,也不知道解决方案。 我该
简单的代码: from PyDAQmx import Task task = Task() 加薪: File "C:\Users\Adrian\Anaconda3\lib\site-packages
我一直在尝试使用 PyQt5 库开发一个多窗口应用程序。我想有一个专门用于单独功能的第二个窗口。我能够从主窗口切换到辅助窗口,没有任何问题。但是在尝试切换回来后,我得到了递归错误异常。这是相关的代码:
我使用以下代码来计算斐波那契数列的元素。代码按原样正常工作 def fib(n, lookup=dict()): if n == 0 or n == 1: lookup[n]
我正在使用谷歌colab。我已经做了很多次我想做的事情,所以我不知道为什么它现在不起作用。 我所做的就是制作一个包含大约 1000 个键的字典,每个值都是 4 个字符串的列表。我已经确认这本词典正是我
所以,我有一个函数,它的目的是为被逗号包围的单词着色。 def __init__(...something): ...something self.user_i
我正在使用 tkinter 学习,这涉及形状的流畅运动。这就是我现在陷入困境的地方。 我收到不一致的递归错误。该代码在 Windows 1O 上运行没有问题,但在我的 macOS 上它崩溃了。 此外,
我得到了以下代码来详细说明我的问题。我正在使用 python 3.6 和 pandas==0.25.3。 import pandas as pd from enum import Enum, IntE
出于单元测试的目的,我创建了一个类,其实例是一个可迭代的,它将产生特定的序列,然后引发异常: class Iter: def __init__(self, seq): self
我运行了一个用于 MNIST 分类的神经网络模型并收到了错误- RecursionError: maximum recursion depth exceeded 我检查了一些关于 stackoverf
我定义了一个名为 spam 的类: class spam(): def __str__(self): print(self) a = spam() print(a) 最后的打印
我为 Tornado RequestHandler 编写了一个辅助装饰器: def return_response(method): @wraps(method) async def
我尝试运行下面的代码 import math import random from matplotlib import pyplot as plt from collections import Co
我是一名优秀的程序员,十分优秀!