程序有效,但TypeError:'int'对象不能收到可订阅的。为什么?

时间:2016-08-24 16:55:30

标签: python string slice typeerror

该程序检查字符串是否为回文,然后返回true。当我在Python IDLE中运行它时,它工作正常。但是在在线测试网站上不接受,返回此错误:“ TypeError:'int'对象不可订阅

string="racecar"
def is_palindrome(string):
        if string == string[::-1]:
            return True
        else:
            return False

这是为什么?据我所知,我不是在使用int。

1 个答案:

答案 0 :(得分:0)

你显然希望你的函数只对字符串进行操作,除非你使用的是一个非常新版本的Python支持类型提示,否则你无法真正告诉Python。因此,只需立即投入到弦上。几乎任何东西都可以转换为字符串,然后你的函数无论传递什么都会起作用,或者至少抛出一个不错的错误。

def is_palindrome(string):
        string = str(string)    # add this line
        if string == string[::-1]:
            return True
        else:
            return False