Строковые значения под именами
Оператор + соединяет строки независимо от того, записаны ли они литералами или получены через переменные. Но обе стороны должны быть строками; число нельзя автоматически прибавить к строке как текст.
Задание источника
Из готовых переменных сформируйте приветствие и тело письма. Используйте только два вызова print(); второе предложение тела должно начаться на новой строке.
first_name = "Anna"
greeting = "Hello"
intro = "Thank you for your order."
info = "Estimated delivery date — 3 business days."
print(greeting + ", " + first_name + "!")
print(intro + "\n" + info)
Вывод:
Hello, Anna!
Thank you for your order.
Estimated delivery date — 3 business days.
Два вызова — три строки
Первый вызов создаёт одну строку. Во втором аргумент содержит символ \n, поэтому его текст занимает две строки. Количество вызовов печати и количество видимых строк не обязаны совпадать.
Строка ", " включает и запятую, и пробел. Если оставить только запятую, приветствие будет выглядеть иначе. Тире в последнем сообщении также является частью заданных данных.
Строка плюс число
Дополнительный пример: "Age: " + 42 вызывает ошибку типов. Для явного соединения можно использовать "Age: " + str(42). Функция str() получает строковое представление значения; она не выполняет арифметическое сложение.
Граница упражнения
Программа печатает текст, но не отправляет электронное письмо и не взаимодействует с заказом. Это позволяет проверить форматирование без сетевых действий и реальных персональных данных.
Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Условие и решение сохранены.