最近在学习python的相关知识,在写下面一段代码的时候报了一个错误:
def maxArea(height):
max = 0
for k in range(len(height)):
if k + 1 < len(height):
for m in range(k + 1, len(height)):
t = min(height[k], height[m])
c = t * abs(m - k)
max = max(max, c)
return max
print(maxArea([1, 1]))
报错如下:
TypeError: 'int' object is not callable
这里其实是自己新建的max变量与系统内嵌的max函数产生了冲突,把自己的变量修改为maxs,即可,如下:
def maxArea(height):
maxs = 0
for k in range(len(height)):
if k + 1 < len(height):
for m in range(k + 1, len(height)):
t = min(height[k], height[m])
c = t * abs(m - k)
maxs = max(maxs, c)
return maxs
print(maxArea([1, 1]))
结果是:
1
所以在命名的时候注意不能和自己使用的系统函数重名,切勿再犯这样的错误,特此记录~