python 使用变量的子串

python substring using variables

我正在尝试为 python

使用子字符串方法
           for i in range(len(s)):
                len1 = self.expandFromMiddle(s,i,i) 
                len2 = self.expandFromMiddle(s,i,i+1)
                len3 = max(len1,len2)
                if(len3 > end - start):
                    start = i -((len3 - 1)/2)
                    end = i + (len3/2)
        
        return s[start:end]

但它给我一个类型错误。如何使用变量在python中使用substring方法?

谢谢!

问题是您使用的正常除法(通过 /)总是 returns 浮点型数据。但是对于子字符串切片,您需要整数。 您有 2 个选择:

将浮点数转换为整数:

start = i - (int((len3 - 1)/2))
end = i + (int(len3/2))

使用整数除法:

start = i - (int((len3 - 1)//2))
end = i + (int(len3//2))