#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!']