Урок 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 — поздравляю, он уже есть! Если появилось сообщение об ошибке — не беда, сейчас поставим. Если версия очень старая, то лучше обновить.
Шаг 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?
Хороший вопрос. Затем, что:
- Локальный Python — это «взрослый» инструмент. С ним ты можешь делать что угодно: писать программы с окнами, работать с файлами, ставить любые библиотеки. Brython — это «Python для браузера», у него есть границы.
- Скорость. Brython в десятки раз медленнее. Для учебных примеров неважно, но для больших программ — важно.
- Профессия. Настоящие программисты работают с настоящим Python. Brython — это учебная песочница.
Мы будем использовать и то, и другое. В уроках — Brython, потому что он всегда под рукой. А если захочешь запустить что-то всерьёз — ты уже знаешь, как поставить локальный 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— коробка с целым числом12height— коробка с дробным числом1.52is_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 — можно.
Правила хорошего тона для имён переменных
- Имя должно быть понятным.
ageлучше, чемa. - Нельзя начинать с цифры:
2name— ошибка,name2— можно. - Нельзя использовать пробелы:
my age— ошибка,my_age— можно. - Регистр важен:
Nameиname— это разные переменные. - Нельзя использовать зарезервированные слова:
if,for,def— они уже заняты языком.
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 + "!")
Что происходит:
- Программа выводит подсказку
Как тебя зовут?и ждёт. - Пользователь вводит, например,
Аняи жмёт Enter. - В переменную
nameпопадает строка"Аня". - Программа выводит
Привет, Аня!.
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.