三角形数
number = '''3
7 4
2 4 6
8 5 9 3'''
从上到下求最大和。你知道吗
pyramidlist = [[int(x) for x in y.split(' ')] for y in number.split('\n')]
for i in range(len(pyramidlist) - 2, -1, -1):
for j in range(i+1):
pyramidlist[i][j] += max(pyramidlist[i+1][j], pyramidlist[i+1][j+1])
我得到一个错误:
pyramidlist[i][j] += max(pyramidlist[i+1][j], pyramidlist[i+1][j+1])
TypeError: 'int' object is not callable
什么是金字塔列表以及我认为max不工作的原因:
In [183]: pyramidlist
Out[183]: [[3], [7, 4], [2, 4, 6], [8, 5, 9, 3]]
In [184]: max(pyramidlist[1][0],pyramidlist[1][1])
Traceback (most recent call last):
File "<ipython-input-184-c42be0ee587f>", line 1, in <module>
max(pyramidlist[1][0],pyramidlist[1][1])
TypeError: 'int' object is not callable
你在用IPython。在执行之前,在代码/单元格中指定的所有变量在整个会话中保留其值。你知道吗
如果你这么做了
那么
会给你
如果错误地替换了其中一个内置函数,则可以按如下方式将其原值返回:
正如@user2357112所评论的,一个更简单的方法是
用他自己的话说
相关问题 更多 >
编程相关推荐