我正在尝试使用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))