我知道这是非常奇怪的代码,但尽量不要注意。我只是想用这种奇怪的方法来解决这个问题。但在这个过程中,我遇到了这个问题。你能帮我解决一下吗?
in <module>
in reverse_alternate
IndexError: string index out of range
我认为它与模数相关联。正确?
def reverse_alternate(string):
a = string.split(' ')
new = ''
for i, c in enumerate(a):
if i % 2 != 0:
new += ' ' + c[::-1] + ' '
else:
new += c
if new[-1] == ' ':
a = new[:-1]
return a
else:
return new
答案 0 :(得分:1)
替换
if new[-1] == ' ':
与
if len(new) and new[-1] == ' ':
如果您没有令牌,new
将最终为空,因此,它将没有-1'st元素。因此,引用它会导致“索引超出范围”错误。