我是一名初学者Python程序员,我开始在Codewars上练习,遇到了以下任务:
编写一个函数,将字符串拆分成每两个字符一组。如果字符串长度为奇数,则用下划线填充最后一组的第二个字符。
solution('abc') #应返回 ['ab', 'c_'] solution('abcdef') #应返回 ['ab', 'cd', 'ef']
下面是我的代码,可以给出正确结果:
def solution(s):
l = [s[i:i+2] for i in range(0,len(s) ,2)]
if len(l[-1]) == 1:
l[-1] += "_"
return l
print(solution('abc')) -> ['ab', 'c_']
print(solution('asdfadsf')) -> ['as', 'df', 'ad', 'sf']
但是当我将代码提交到 Code Wars 时,我收到了以下错误提示:
if len(l[-1]) == 1: IndexError: list index out of range
如果我在Visual Studio Code中测试,就不会出现这种错误。
请问有人可以解释一下如何修复这个问题吗? 谢谢!!:)
solution('')
这种情况吗? - Mark