Что выведет этот код?


s = "a   b c"
print(".".join(s.split()))

Результат выполнения кода: a.b.c. Код удаляет лишние пробелы между словами в строке и соединяет слова точкой.

Разбор задачи и решение:

Задача демонстрирует понимание работы со строками в Python, а именно использование методов split() и join(). Важно понимать, как эти методы обрабатывают пробельные символы и создают новую строку.

Исходный код:


s = "a   b c"
print(".".join(s.split()))
  

Пошаговое объяснение:

  1. s = "a b c": Присваивает переменной s строку, содержащую символы 'a', 'b', 'c' и несколько пробелов.
  2. s.split(): Метод split() разбивает строку s на список подстрок, используя пробельные символы (пробелы, табуляции, переносы строк) в качестве разделителей. Важно: split() по умолчанию считает последовательность пробельных символов одним разделителем. В результате, множество пробелов между 'a' и 'b' обрабатывается как один разделитель, также как и пробел между 'b' и 'c'. Этот метод возвращает список ['a', 'b', 'c'].
  3. ".".join(['a', 'b', 'c']): Метод join() объединяет элементы списка (в данном случае, списка строк, полученного от split()) в одну строку, используя строку, к которой он применяется (в данном случае, строка ".") в качестве разделителя между элементами списка. В результате получается строка "a.b.c".
  4. print(...): Выводит полученную строку в консоль.

Результат выполнения:


a.b.c
  

Альтернативные подходы (для общего развития):

  • Если необходимо было бы сохранить пробелы и заменить их на точки, можно было бы использовать регулярные выражения с re.sub(). Например, import re; print(re.sub(r'\s+', '.', s)), что заменило бы каждую последовательность пробельных символов точкой.
0