Числа и строки

Урок 2.1 · Программирование с нуля · Модуль 2. Данные и вычисления · Бесплатно

Цель урока: Различать числа и строки и понимать, почему «2 + 3» и «"2" + "3"» дают разное.

Нужно знать заранее: print, переменные

Объяснение

Зачем это нужно: Почти все странные результаты в первых программах объясняются одним: где-то число, а где-то текст. Различать их — половина навыка. И вторая половина: уметь превращать текст в число, когда человек ввёл цифры, а программе нужно считать.

Как это работает: Числа записываются без кавычек: 2, 15, 3.5. С ними можно считать. Строки записываются в кавычках: "2". Знак «плюс» для строк означает склейку, а не сложение. Поэтому 2 + 3 даёт 5, а "2" + "3" даёт "23" — две цифры подряд, а не пять. Значения из input всегда приходят строкой, даже если человек набрал цифры. Об этом помним дальше. В примере после решётки (#) записано, что напечатает строка. Это подсказка для читателя: всё, что стоит после #, Python не выполняет. Имена переменных берут из английского и пишут латиницей: weeks — недели per_week — в неделю goal — цель saved — накоплено left — осталось Имя ничего не считает — оно объясняет человеку, что лежит внутри.

Важно: int — это команда «сделай из текста целое число». Пишется так: int(что превратить), в скобках — текст в кавычках или имя переменной. int("2") — это уже число 2, а не текст. С ним можно считать: int("2") + int("3") даёт 5. Сравните два знака «плюс»: "2" + "3" даёт "23" (склейка), int("2") + int("3") даёт 5 (сложение). Внутри int должны быть только цифры. int("два") — ошибка: «два» числом не станет. Если в переменной лежит текст из input, пишут age = int(input()) — и дальше age уже число.

Разбор: print(15 + 27) → 42: это числа, поэтому сложение. print("15" + "27") → 1527: это строки, поэтому склейка. print(int("15") + int("27")) → 42: int превратил текст в числа, и снова работает сложение. Один и тот же знак «плюс», разный результат — всё решает тип значения.

Частая ошибка: Ожидать от "2" + "3" числа 5. Кавычки делают значения текстом, поэтому получается "23". Нужна сумма — превратите текст в числа: int("2") + int("3"). Вторая ошибка того же рода — забыть int у input. input отдаёт текст: человек ввёл 2, а в переменной лежит "2". Тогда x + x склеит две двойки и напечатает 22. Чтобы сложить, превратите каждое значение: int(x) + int(x) даёт 4.

Итог: Кавычки делают значение текстом. Числа складываются, текст склеивается. int("2") превращает текст в число 2 — и тогда «плюс» снова считает.

print(2 + 3)                 # 5
print("2" + "3")             # 23
print(int("2") + int("3"))   # 5

Копилка на велосипед

Три значения пришли текстом, как из формы: weeks = "6" (сколько недель уже копим), per_week = "250" (рублей в неделю) и goal = "2000" (сколько нужно на велосипед). Посчитайте и напечатайте три строки такого вида: Накоплено: <сколько уже есть> руб. Это <целые тысячи> тыс. и <остаток> руб. Осталось: <сколько ещё нужно> руб. Накопленное — недели умножить на сумму в неделю. Целые тысячи и остаток — знаки // и %. Осталось — цель минус накопленное. Имена переменных — английские слова: weeks — недели per_week — в неделю goal — цель saved — накоплено (так назван результат в эталонном решении) left — осталось (тоже из эталона) Можно взять эти имена или свои.

Критерий успеха: Три строки совпали с ожидаемым результатом: накопленная сумма, целые тысячи с остатком и сколько осталось до цели — каждое число на своём месте.

Уроки модуля 2

Что ещё есть на сайте

Учиться

  • Уроки — Все уроки трёх траекторий: список, поиск и ваш прогресс.
  • Программирование с нуля — Python с первой команды до своего проекта: 12 модулей.
  • Интерфейсы и сайты с нуля — Кнопки, страницы и мини-игры: результат виден сразу в браузере.
  • Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
  • Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
  • Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
  • Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
  • Конструктор описания задачи — Собрать описание по полям и получить готовый текст для исполнителя.

С чего начать

Потренироваться

  • Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
  • Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
  • Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
  • Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
  • Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.

Словари и юмор

Сайт, оплата и помощь

  • Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.
  • Инструкция пользователя — Как всё устроено: уроки, кабинет, уведомления, подписка, ярлык.
  • Сообщество — Вопросы и ответы: читать можно всем, писать — после входа.
  • Подписка — Тарифы, что входит, возврат 14 дней, история платежей.
  • Помощь и поддержка — Частые вопросы и форма обращения — ответ в течение дня.
  • Отзывы учеников — Что пишут те, кто уже учится: без звёзд, с проверкой каждого текста.
  • Профиль и пароль — Имя, пароль для входа без кода, уведомления, свои данные.