python子字符串使用变量



我正在尝试使用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中使用子字符串方法?

谢谢!

问题是,您正在使用正常的除法(通过/),总是返回类型为float的数据。但对于子字符串切片,你需要整型。你有两个选项:

将float转换为int:

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

使用整数除法:

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

最新更新