Я начинающий python программист, и я начал выполнять упражнения в кодах, и я получил следующее задание:
Завершите решение, чтобы разбить строку на пары из двух символов. Если строка содержит нечетное количество символов, тогда ей следует заменить отсутствующий второй символ последней пары подчеркиванием ('_').
решение ('ab c') # должно вернуть [' ab ',' c_ '] решение (' 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']
, но когда я отправляю свой код в войны кодов, я получаю следующую ошибку:
if len(l[-1]) == 1: IndexError: list index out of range
ошибка, которую я не получаю, если тестирую в коде Visual Studio.
Может кто-нибудь объяснить мне, как я могу это исправить? Спасибо !! :)