python中报错:'int' object is not callable error occur的解决方案

最近在学习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

所以在命名的时候注意不能和自己使用的系统函数重名,切勿再犯这样的错误,特此记录~

参考:https://stackoverflow.com/questions/11201801/why-does-the-int-object-is-not-callable-error-occur-when-using-the-sum-funct

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值