在Jupyther笔记本中运行此功能以获取collatz序列的最大值
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中运行它时没有错误,所以我不确定为什么它在那里?
答案 0 :(得分:1)
您已经在某处定义了名为max
的字典。将字典重命名为内置函数尚未使用的名称。