Модуль 2 · Неделя 1

Python: первые шаги

4 урока. Что такое программирование, установка Python, данные и переменные, ввод и вывод.

Урок 1.Как заставить компьютер что-то сделать?

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

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

Но человеку неудобно работать с нулями и единицами. Он не видит в них смысла. Поэтому появились специальные программы — трансляторы. Они переводят с человеческого на компьютерный. И они делятся на компиляторы и интерпретаторы.

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

Один из самых популярных языков программирования — Python. На нём пишут сайты, игры, нейросети, управляют роботами и даже отправляют ракеты (почти). И всё потому, что Python — это язык, который специально сделали понятным для людей.

Вот смотрите. Хотите, чтобы компьютер поздоровался? Пишете:

print("Привет, мир!")

И всё. Компьютер здоровается.

Python придумал голландец Гвидо ван Россум в 1989 году. Говорят, он хотел, чтобы код читался как обычный текст, а не как шифровка. И у него получилось: сегодня Python — один из самых популярных языков в мире. На нём пишут и школьники, и программисты в Google, и учёные, которые изучают космос.

Кстати, Python — это не один язык, а целая семья языков-братьев: CPython, PyPy, Jython, MicroPython, Brython. Они похожи, но у каждого свой характер — как у людей. Большинство трансляторов Python — интерпретаторы, но есть и компиляторы.

А теперь попробуйте сами. Напишите программу, которая выводит фразу «Я умею программировать!». Запустите. Если увидели эту фразу на экране — поздравляю, вы только что написали первую программу. Поменяйте фразу. Обратите внимание, что фраза должна оставаться в кавычках.
print("Я умею программировать!")

Хотя... Если хочется поэкспериментировать, напишите 5 * 5 без кавычек. Запустите. Посмотрите, что получилось. Как думаете — почему?

↑ К содержанию недели

Урок 2.Устанавливаем Python. Brython в браузере

Проверка: а вдруг уже стоит?

Сначала — небольшая проверка. Вдруг Python уже стоит у тебя на компьютере? Нажми Win + R, введи cmd и нажми Enter. В чёрном окошке напиши:

python --version

Если увидишь что-то вроде Python 3.14.5 — поздравляю, он уже есть! Если появилось сообщение об ошибке — не беда, сейчас поставим. Если версия очень старая, то лучше обновить.

Внимание! Если операционная система старая (например, Windows 7), то новый Python туда не встанет. Тогда придётся работать в офлайн-режиме браузера. Так же онлайн-режим, очевидно, будет нужен тем, кто работает на Android.

Шаг 1. Скачиваем установщик

Идём на официальный сайт: python.org/downloads. Сайт обычно сам определяет, что у тебя Windows, и предлагает кнопку скачивания. Жми на неё — скачается файл с расширением .exe.

Шаг 2. Запускаем и... СТОП!

Дважды кликни по скачанному файлу. Откроется окно установки. Самое главное: внизу окна есть галочка «Add Python to PATH» (или «Добавить Python в PATH»). Обязательно поставь её!

Почему это критично? Если не поставить — Windows потом не будет «видеть» Python, и при попытке запустить его из командной строки компьютер скажет: «А что это такое? Не знаю такого».

Поставил галочку — теперь смело жми большую кнопку «Install Now». Установщик сам сделает всё остальное: поставит Python, pip (это «магазин» библиотек) и даже редактор IDLE.

Шаг 3. Проверяем

Когда установка закончится, открой снова командную строку (Win + R → cmd). Напиши:

python --version

Должна появиться версия — например, Python 3.14.5. Если видишь её — всё получилось!

А теперь самая приятная часть. Прямо в командной строке напиши:

python

Появится приглашение >>>. Теперь введи:

print("Привет, мир!")

И нажми Enter. Если увидишь на экране «Привет, мир!» — ты только что написал и запустил первую программу на Python!

Чтобы выйти, напиши exit() и нажми Enter.

Python без установки: Brython в браузере

Если не хочется возиться с установкой — есть другой путь. Прямо в этом уроке живёт Brython. Это Python, который работает в браузере. Никаких .exe, никакой командной строки, никаких галочек «Add to PATH». Открыл урок, написал код, нажал ▶ — и всё работает.

Попробуй. Открой редактор, нажми «Запустить» — и увидишь результат:

print("Привет, мир!")
print("2 + 2 =", 2 + 2)

Если на экране появилось «Привет, мир!» — поздравляю, ты только что запустил Python. Только не на своём компьютере, а в браузере. Разницы для нас пока никакой.

Как это вообще работает?

Ты помнишь, что компьютер понимает только нули и единицы. А браузер — единственная программа, которая эти нули и единицы уже умеет крутить как угодно. Внутри браузера живёт JavaScript — язык, который браузер понимает напрямую.

Brython — это транслятор. Он берёт твой Python и на лету переводит его в JavaScript. Браузер выполняет JavaScript, а ты видишь результат своего Python-кода. Как синхронный переводчик: ты говоришь по-русски, а иностранец слышит английский. Только переводчик здесь — Brython.

Чем Brython отличается от обычного Python?

Не всем. Но разница есть, и о ней лучше знать заранее:

  • Установка. Локальный Python — нужна. Brython — не нужна.
  • Где работает. Локальный — в командной строке. Brython — в браузере.
  • Скорость. Локальный — быстрее. Brython — медленнее.
  • Библиотеки. Локальный — любые. Brython — стандартные и Brython-совместимые.
  • Файлы на диске. Локальный — читает и пишет. Brython — не имеет доступа.
  • input(). Локальный — обычный ввод в терминале. Brython — системное окно браузера.

А зачем тогда вообще ставить Python?

Хороший вопрос. Затем, что:

  1. Локальный Python — это «взрослый» инструмент. С ним ты можешь делать что угодно: писать программы с окнами, работать с файлами, ставить любые библиотеки. Brython — это «Python для браузера», у него есть границы.
  2. Скорость. Brython в десятки раз медленнее. Для учебных примеров неважно, но для больших программ — важно.
  3. Профессия. Настоящие программисты работают с настоящим Python. Brython — это учебная песочница.

Мы будем использовать и то, и другое. В уроках — Brython, потому что он всегда под рукой. А если захочешь запустить что-то всерьёз — ты уже знаешь, как поставить локальный Python.

А теперь попробуй сам. Напиши программу, которая выводит на экран две строки: «Я изучаю Python!» и «И это здорово!». Подсказка: тебе понадобится print() — два раза.
print("Я изучаю Python!")
print("И это здорово!")

Если что-то пошло не так

Бывает, что команда python открывает Microsoft Store вместо интерпретатора. Не пугайся — просто попробуй вместо python написать python3 или py.

↑ К содержанию недели

Урок 3.Данные, их типы и переменные

Программа — это алгоритм. А любой алгоритм работает с данными. Числа, текст, истина/ложь — всё это данные. Но компьютер не понимает «просто число» или «просто текст». Если ты помнишь, для него всё нули и единицы. Поэтому, чтобы оперировать с данными правильно, ему нужно точно знать: это целое число, это дробное, это строка текста, это да/нет. Подобное разделение и называется типом данных.

Переменная — это коробка с наклейкой

Чтобы данные не терялись, их кладут в переменные. Переменная — это как коробка с наклейкой: на наклейке написано имя, внутри лежит значение. Имя придумываешь ты сам.

Если говорить официально, переменная — это именованная область памяти: в памяти компьютера есть место с именем, и в нём хранится значение.

name = "Аня"
age = 12
height = 1.52
is_student = True

print(name)
print(age)
print(height)
print(is_student)

Здесь:

  • name — коробка с текстом "Аня"
  • age — коробка с целым числом 12
  • height — коробка с дробным числом 1.52
  • is_student — коробка с истиной True

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

Основные типы данных в Python

1. Числа

Два главных вида:

count = 5          # int — целое число
price = 99.90      # float — дробное число

int — от английского integer, «целое». float — «плавающая точка», то есть дробное.

С ними можно делать всё, что в математике:

a = 10
b = 3
print(a + b)   # 13
print(a - b)   # 7
print(a * b)   # 30
print(a / b)   # 3.3333...
print(a // b)  # 3 — целочисленное деление
print(a % b)   # 1 — остаток от деления
print(a ** b)  # 1000 — возведение в степень

2. Строки

Строка — это текст. В Python строки пишут в кавычках — одинарных или двойных, без разницы:

greeting = "Привет"
name = 'Аня'

Строки можно склеивать (это называется конкатенация):

name = "Аня"
print("Привет, " + name + "!")   # Привет, Аня!

А можно повторять:

print("Ха" * 3)   # ХаХаХа

3. Логический тип (bool)

Всего два значения: True (истина) и False (ложь). Нужен для проверок и условий:

is_raining = False
is_sunny = True

4. Структуры данных

До сих пор в каждой переменной лежало одно значение: одно число, один текст, одна истина. Но часто нужно хранить много значений сразу. Например, список любимых цветов, оценки за четверть или имена друзей.

Для этого есть структуры данных — контейнеры, в которые можно положить несколько значений.

Список (list) — самый простой и самый нужный. Это как коробка, в которой лежит несколько значений по порядку:

colors = ["красный", "зелёный", "синий"]
marks = [5, 4, 4, 5, 3]
mixed = ["Аня", 12, 1.52, True]   # в списке могут быть разные типы

Из списка можно достать отдельный элемент по его номеру (индексу). Важно: нумерация начинается с нуля:

print(colors[0])   # красный
print(colors[2])   # синий

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

colors.append("жёлтый")   # добавить в конец
print(colors)             # ['красный', 'зелёный', 'синий', 'жёлтый']

Есть и другие структуры — пока просто запомни, что они существуют:

  • Словарь (dict) — хранит пары «ключ — значение». Например, {"Аня": 12, "Боря": 13}.
  • Кортеж (tuple) — как список, но его нельзя менять после создания.
  • Множество (set) — хранит значения без повторов и без порядка.

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

5. Управляющие конструкции

Программа — это не только команды по порядку. Иногда нужно повторить что-то много раз или пройтись по всем элементам списка. Для этого есть циклы.

Самый простой цикл — for. Он повторяет действие заданное число раз:

for i in range(5):
    print("Привет!")

Этот код выведет «Привет!» пять раз. range(5) — это «числа от 0 до 4», то есть пять шагов.

А вот как пройтись по всем элементам списка:

colors = ["красный", "зелёный", "синий"]

for color in colors:
    print(color)

Программа по очереди возьмёт каждый цвет из списка и напечатает его. Сначала «красный», потом «зелёный», потом «синий».

Это только два примера. Циклы — большая и важная тема, и мы разберём их подробно позже. Как и условный оператор if, который мы тоже разберём в следующих уроках.

6. Функции

Иногда одна и та же команда нужна в программе много раз. Чтобы не писать её снова и снова, можно собрать её в функцию — как маленькую подпрограмму с именем.

def say_hello():
    print("Привет!")
    print("Как дела?")

Теперь эту функцию можно вызывать по имени сколько угодно раз:

say_hello()
say_hello()

Каждый вызов — это два приветствия.

Функции умеют принимать значения и возвращать результат:

def square(x):
    return x * x

print(square(5))   # 25

Здесь square(5) берёт число 5, умножает его на себя и возвращает 25.

Это пока только знакомство. Как правильно писать функции, зачем они нужны, что такое аргументы и возвращаемые значения — всё это будет в следующих уроках.

Как узнать тип данных?

Есть волшебная команда type():

print(type(5))        # <class 'int'>
print(type(3.14))     # <class 'float'>
print(type("Привет")) # <class 'str'>
print(type(True))     # <class 'bool'>

Важно: Python — язык с динамической типизацией

Это значит, что тебе не нужно заранее говорить, какого типа будет переменная. Python сам понимает это по значению:

x = 5        # x — целое
print(x)
x = "пять"   # теперь x — строка. И это нормально!
print(x)

В некоторых других языках так нельзя — там тип переменной фиксируется навсегда. В Python — можно.

Правила хорошего тона для имён переменных

  1. Имя должно быть понятным. age лучше, чем a.
  2. Нельзя начинать с цифры: 2name — ошибка, name2 — можно.
  3. Нельзя использовать пробелы: my age — ошибка, my_age — можно.
  4. Регистр важен: Name и name — это разные переменные.
  5. Нельзя использовать зарезервированные слова: if, for, def — они уже заняты языком.
А теперь попробуй сам. Напиши программу, которая: 1) создаёт переменную с твоим именем; 2) создаёт переменную с твоим возрастом; 3) создаёт переменную с твоим ростом; 4) выводит всё это одной строкой. Например: «Меня зовут Аня, мне 12 лет, мой рост 1.52 метра». Подсказка: число нужно превратить в строку командой str().
name = "Аня"
age = 12
height = 1.52

print("Меня зовут " + name + ", мне " + str(age) + " лет, мой рост " + str(height) + " метра.")
↑ К содержанию недели

Урок 4.Ввод и вывод

Программа, которая всегда делает одно и то же и ни о чём не спрашивает — скучная. Настоящая программа умеет разговаривать с пользователем: спрашивать, получать ответ и показывать результат. Подобный режим называется интерактивным. Для этого в Python есть две главные команды: input() — для ввода и print() — для вывода.

Ввод: команда input()

input() останавливает программу и ждёт, пока пользователь что-то напечатает и нажмёт Enter. То, что он напечатал, input() возвращает — и это всегда строка, даже если пользователь ввёл число.

name = input("Как тебя зовут? ")
print("Привет, " + name + "!")

Что происходит:

  1. Программа выводит подсказку Как тебя зовут? и ждёт.
  2. Пользователь вводит, например, Аня и жмёт Enter.
  3. В переменную name попадает строка "Аня".
  4. Программа выводит Привет, Аня!.
В Brython input() вызывает системное окно браузера. Это нормально для учебных задач — просто знай, что так бывает.

Главная ловушка: input() всегда возвращает строку

Вот здесь спотыкаются почти все. Смотри:

age = input("Сколько тебе лет? ")
print(age + 1)

Программа упадёт с ошибкой. Почему? Потому что age — это строка "12", а не число 12. А строку и число складывать нельзя. Python скажет что-то вроде:

TypeError: can only concatenate str (not "int") to str

Строка "12" и число 12 — это разные вещи. Первое — просто текст из двух символов. Второе — значение, с которым можно производить вычисления.

Преобразование типов

Чтобы превратить строку в число, нужны команды преобразования:

age = input("Сколько тебе лет? ")   # age — строка "12"
age = int(age)                       # теперь age — число 12
print(age + 1)                       # 13

Основные команды:

  • int(...) — превращает в целое число.
  • float(...) — превращает в дробное число.
  • str(...) — превращает в строку. Нужна, когда число надо приклеить к тексту.

Обычно преобразование делают прямо в момент ввода, одной строкой:

age = int(input("Сколько тебе лет? "))
height = float(input("Какой у тебя рост? "))

Так короче и понятнее: сразу видно, что age — число, а height — дробное.

Важно: int() и float() работают, только если в строке действительно число. Если пользователь введёт двенадцать или 12 лет, программа упадёт. Пока просто помни об этом — позже научимся это проверять.

Вывод: команда print()

С print() ты уже встречался, но у него есть несколько полезных возможностей.

1. Несколько значений сразу

print() умеет выводить несколько значений через запятую. Они автоматически разделяются пробелом:

name = "Аня"
age = 12
print("Меня зовут", name, "и мне", age, "лет")
# Меня зовут Аня и мне 12 лет

Обрати внимание: здесь не нужен str(). print() сам превращает числа в текст и сам ставит пробелы. Это гораздо удобнее, чем склеивать строки через +.

2. Разделитель: sep

По умолчанию print() ставит между значениями пробел. Но это можно изменить:

print("Аня", "12", "Москва", sep=", ")
print("2026", "09", "28", sep="-")
print("Привет", end=" ")
print("мир")

3. f-строки — самый удобный способ

Это, пожалуй, главная фишка. Если поставить перед строкой букву f, то внутри строки можно вставлять значения переменных прямо в фигурных скобках:

name = "Аня"
age = 12
height = 1.52

print(f"Меня зовут {name}, мне {age} лет, мой рост {height} метра.")

pi = 3.1415926
print(f"Число пи примерно равно {pi:.2f}")

a = 5
b = 3
print(f"{a} + {b} = {a + b}")

Сравни с тем, как пришлось бы делать это через склейку:

print("Меня зовут " + name + ", мне " + str(age) + " лет, мой рост " + str(height) + " метра.")

Согласись, f-строка читается гораздо легче. В фигурных скобках можно писать не только имена переменных, но и целые выражения. А запись :.2f означает: «выведи как дробное число с двумя знаками после точки».

Собираем всё вместе

Программа, которая спрашивает имя, возраст и рост, а потом выводит красивую строчку:

name = input("Как тебя зовут? ")
age = int(input("Сколько тебе лет? "))
height = float(input("Какой у тебя рост (в метрах)? "))

print(f"Меня зовут {name}, мне {age} лет, мой рост {height} метра.")
А теперь попробуй сам.

Задание 1. Напиши программу, которая спрашивает два числа и выводит их сумму, разность, произведение и частное. Подсказка: не забудь про int() или float().

Задание 2. Напиши программу, которая спрашивает имя и любимый цвет, а потом выводит фразу вида: «Аня, твой любимый цвет — синий!». Используй f-строку.

Задание 3. Напиши программу, которая спрашивает радиус круга и выводит его площадь, округлённую до двух знаков. Подсказка: площадь круга — это 3.14 * r * r, а для округления используй :.2f.
↑ К содержанию недели