DamiRocK

Python: конкатенация строк и сборка адреса из частей

Соединяем протокол, домен, владельца и репозиторий оператором +. Проверяем разделители, порядок частей и отсутствие автоматически добавляемых пробелов.

Что означает плюс для строк

В выражении "Dragon" + "stone" оператор + соединяет текст и создаёт "Dragonstone". Пробел между частями автоматически не появляется. Если он нужен, его включают в одну из строк или отдельным операндом.

Порядок важен: "ab" + "cd" и "cd" + "ab" различаются.

Задание источника

Соберите и выведите адрес из отдельных строк: протокол, домен, имя владельца и имя репозитория. Ожидаемый текст упражнения:

https://github.com/hexlet/exercises-python

Решение

print("https://" + "github.com" + "/" + "hexlet" + "/" + "exercises-python")

Прямые слеши между компонентами — отдельные строки. Без них слова склеились бы неправильно. Внутри "https://" уже присутствуют двоеточие и два слеша протокола.

Строковое упражнение, не сетевой запрос

Программа только создаёт и печатает текст. Она не обращается к GitHub и не проверяет существование репозитория. Адрес задания сохранён как ожидаемый результат; фактические исходники этого урока находятся в организации hexlet-basics, указанной в атрибуции ниже.

Проверка разделителей

Один пропущенный слеш или лишний пробел изменит строку. Кавычки у соседних частей могут быть разных типов, если каждый литерал корректно закрыт. После конкатенации различие внешних кавычек уже не имеет значения: они не являются символами результата.

Когда частей становится много, полезно отдельно проверить каждую смысловую границу. Позже переменные и форматированные строки позволят сделать такую сборку удобнее, но здесь задача специально решается оператором +.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Ожидаемый текст сохранён; сетевые действия не подразумеваются.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.