Разделить слово на две пары, но с небольшими изменениями

#python #string #list #if-statement #split

#питон #строка #Список #if-оператор #разделить #python

Вопрос:

Мне нужна помощь с данной задачей —

Разделите строку на пары из двух символов. Если строка содержит нечетное количество символов, то недостающий второй символ последней пары следует заменить символом подчеркивания (‘_’).

 def split_pairs(a):
    if len(a)%2==0:
        a.split(', ', 2)
    else:
        a.split(', ', 2)
        a.replace(items[2][-1] , '_')
        return a
  

Комментарии:

1. И в чем проблема с вашим кодом?

2. Пожалуйста, укажите пример ввода и ожидаемый результат. Вы говорите «пары из двух символов», но ваш код разделяется на ", " . Это другое дело. Разделены ли входные пары текста запятыми?

Ответ №1:

Вы предполагаете определенный разделитель. Вместо того, чтобы делать это предположение, вы можете перебирать начальные индексы (с шагом 2) и извлекать соответствующие подстроки. При необходимости объединить _ с последней:

 def split_pairs(a):
    out = [a[i:i 2] for i in range(0, len(a), 2)]
    if len(out[-1]) == 1:
        out[-1]  = '_'
    return out

print(split_pairs('Hello'),
      split_pairs('world!'))
  

Это дает:

 ['He', 'll', 'o_'] ['wo', 'rl', 'd!']