函数中的Max(set)在Jupyter中给出了类型错误

时间:2017-11-15 15:28:38

标签: python recursion jupyter-notebook typeerror

在Jupyther笔记本中运行此功能以获取collat​​z序列的最大值

def collatz_max(i, seq = set()):
    seq.add(i)
    if i == 1:
        return max(seq)
    else:
        if i%2 == 0:
            return collatz_max(i/2, seq)
        else:
            return collatz_max(3*i + 1, seq)

collatz_max(7)

产量

    <ipython-input-64-2d2324774edf> in collatz_max(i, seq)
      6     seq.add(i)
      7     if i == 1:
----> 8         return max(seq)
      9     else:
     10         if i%2 == 0:

TypeError: 'dict' object is not callable

然而,当我在PyCharm中运行它时没有错误,所以我不确定为什么它在那里?

1 个答案:

答案 0 :(得分:1)

您已经在某处定义了名为max的字典。将字典重命名为内置函数尚未使用的名称。