Python报错TypeError: 'int' object is not callable,求问题原因及解决
问题分析与解决
错误原因
- 变量名冲突:你把Python内置的
sum()函数名当作普通变量名,赋值为整数0。之后再尝试调用sum()时,Python会把它当成你定义的整数变量,自然抛出TypeError: 'int' object is not callable错误——整数无法被“调用”。 - 计算逻辑错误:你想要累加整数的平方,但代码里写的是
i*2(这是整数乘2),正确的平方写法应为i**2。
修正后的代码
方式一:循环累加(保留原始循环思路)
total = 0 # 更换变量名,避免占用内置函数sum for i in range(2, 196): total = total + i**2 # 用i**2计算整数平方 print(total)
方式二:使用内置sum函数(更简洁)
# 不占用sum变量,直接调用内置函数 my_sum = sum([i**2 for i in range(2, 196)]) print(my_sum)
内容的提问来源于stack exchange,提问作者Timur Urazgulov
相关产品推荐
相关产品推荐

