Код БарсикОсновы Python
Основы Python›C02 · Теория

Теория · C02

Переменные и диалог с пользователем

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

РАЗБИРАЕМ ПО ШАГАМ

От идеи к работающему коду

Один и тот же код может работать с разными данными. Переменные дают значениям имена, а input позволяет получать данные во время запуска. Соберём диалог, который обращается к пользователю по имени.

Сразу к запуску примера ↓
Имя переменной связывается со значением. При новом присваивании связь меняется.
Имя переменной связывается со значением. При новом присваивании связь меняется.
  1. 1Ввод пользователя
  2. 2Значение в name
  3. 3Сообщение с именем

1. Имя и значение

В name = "Саша" справа находится строка, слева — имя. Оператор = связывает имя с результатом справа. Это присваивание, а не математическое утверждение о равенстве.

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

Python
name = "Саша"print(name)name = "Алекс"print(name)

2. Понятные имена

Имя user_name объясняет назначение значения лучше, чем x. Для нескольких слов в Python обычно используют подчёркивания. Имя не начинается с цифры, не содержит пробелов и не должно совпадать с ключевым словом языка.

name и Name — разные имена. Строка "name" означает буквальный текст, а name без кавычек — обращение к переменной. Если присваивания ещё не было, обращение приведёт к NameError.

Python
user_name = "Барсик"print("user_name")print(user_name)

3. input возвращает строку

input() читает одну строку ввода и возвращает её как текст типа str. Возвращает — значит передаёт значение обратно в то место, где вызвана функция. Поэтому результат можно присвоить переменной.

В обычном терминале вводят ответ и нажимают Enter. В редакторе сайта ответы заранее пишутся в поле входных данных: одна строка на каждый input(). Если вызовов два, подготовь две строки.

Python
name = input()project = input()print(name)print(project)

4. Подставляем данные в сообщение

Буква f перед строкой включает форматирование. Выражения в фигурных скобках вычисляются, а их значения подставляются в текст. Сами скобки в итоговое сообщение не попадают.

Без f программа напечатает {name} буквально. Можно также передать несколько аргументов в print через запятую: по умолчанию они разделяются пробелом.

Python
name = "Саша"print(f"Привет, {name}!")print("Автор:", name)

Где легко ошибиться

  • Не заключай имя переменной в кавычки, если нужно её значение.
  • Не используй переменную до присваивания.
  • При изменении значения проверяй, какие сообщения выводятся до изменения, а какие после.
Проверь понимание: После a = "Саша"; b = a; a = "Алекс" чему равно b?

Строке Саша. Присваивание b = a использовало значение a в тот момент; постоянной связи между двумя именами оно не создало.

Приветствие по введённому имени

input() читает строки по порядку. Для этого примера нужны два ответа: имя и название корабля.

Запусти пример. Затем измени код или входные данные и проверь, как меняется вывод.

Пример входных данных

Маша
Искра

Ожидаемый вывод

Привет, капитан Маша!
Корабль Искра готов.
main.pyPython · можно менять код

Подготавливаем редактор…

Загрузка Python…

Каждый ответ — с новой строки.

Твой вывод

Здесь появится результат запуска.

Дальше — самостоятельные задачи

  1. Сохранить имя в переменной и вывести его дважды
  2. Собрать приветствие из текста и значения
  3. Проверить, что изменение name меняет все связанные сообщения