You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码出现TypeError: 'int' object is not callable错误,寻求技术支持

解决TypeError: 'int' object is not callable及你的字符串反转代码问题

嘿,我来帮你排查这个错误和代码里的问题!

首先说说你遇到的TypeError

这个错误的核心原因几乎可以肯定是:你在运行这段代码之前,不小心把Python内置的len()函数给覆盖成整数了。比如之前可能在控制台或者脚本里写过类似len = 20这样的语句,这时候len就从一个函数变成了int类型,再调用len(string)自然就会报错“整数不能被调用”。

如果是这种情况,你可以先在交互式环境里执行del len来恢复内置的len函数,之后再运行你的代码就不会报这个类型错误了。

然后是代码里的索引越界问题

就算解决了上面的类型错误,你的代码还会触发IndexError,因为字符串的索引是从0开始的:比如一个长度为n的字符串,最后一个字符的索引是n-1,而你一开始把stringLen设为len(string),第一次循环访问string[stringLen]就超出了索引范围。

修正后的代码

这里给你两种修复方式:

方式一:调整循环逻辑

string = "This is a string, but I want to print it backwards"
stringLen = len(string)
newString = []
# 从最后一个有效索引开始遍历到0
while stringLen > 0:
    stringLen -= 1  # 先把索引减到有效范围
    newString.append(string[stringLen])
result = ''.join(newString)
print(result)

方式二:Python式的简洁写法(推荐)

Python的字符串切片可以直接实现反转,一行代码搞定:

string = "This is a string, but I want to print it backwards"
print(string[::-1])

运行结果

不管用哪种方式,最终都会输出正确的反转字符串:

sdrawkcab ti tnirp ot tnaw I tub ,gnirts a si sihT

内容的提问来源于stack exchange,提问作者user1599523

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:30:20