Урок 1. Знакомство с Python и первая программа
Познакомимся с Python. Научимся писать код с помощью искусственного интеллекта. Создадим свою первую полноценную программу - консольную игру.
▶️ Время чтения и просмотра: ~ 1-1,5 ч.
⏱ Время выполнения задания: ~ 30 мин.
Эксперт
Максим Вершинин
- Эксперт курсов Zerocoder:«Программист на Python с нуля с помощью ChatGPT» и «Промпт-инжиниринг».
- Более 5 лет в IT-образовании для взрослых и детей:GeekBrains, Rubius Academy, ШЦТ, Coddy и др.
- Ex Middle Unity Developer.
- Разработчик в компании В Контакте.
- Познакомимся с Python.
- Напишем пару строк кода самостоятельно.
- Выполним простое задание.
- Создадим полноценный проект.
- Настроим рабочее окружение на будущее.
✅ Python — простой и понятный язык программирования. C помощью него можно создавать сайты, игры, ботов, анализировать данные и управлять техникой и т.д. Он настолько универсальный, что подходит и для новичков, и для профи.
- Популярность
- Простота
- Гибкость
- Универсальность
- Python используется в самых разных сферах:
- Востребованность
⚠️ Многие начинают обучение программированию с Python. После освоения основ легко перейти к другим языкам, например JavaScript или C++. Однако многие продолжают работать именно с Python, потому что он удобен и эффективен.
Python используется не только для обучения, но и для создания реально работающих продуктов.
- Крупные веб-сервисы:
- Reddit — изначально был создан на Python. Это популярная платформа для обсуждений, где можно найти темы на любые интересы, включая программирование и нейросети.
- Онлайн-игры:
- World of Tanks и ряд других игр.
⚠️Полноценные игры полностью на Python — редкость, но жанр визуальных новелл представлен хорошо, например: российская игра «Зайчик»(Tiny Bunny) написана на Python. - Искусственный интеллект и нейросети:
- Большинство современных нейросетей и инструментов машинного обучения создаются с использованием Python.
- Он незаменим в задачах: машинного обучения, анализа больших данных, глубокого обучения.
⚠️ChatGPT — создан с использованием Python и библиотек для глубокого обучения. - Телеграм-боты
Причины популярности Python ↘️
Python давно занял прочное место в мире программирования благодаря своим очевидным преимуществам — от простоты синтаксиса до широчайших возможностей применения.
- Python похож на английский язык: команды и функции легко читаются.
- Даже без опыта в программировании можно примерно понять, что делает код.
- Низкий порог входа — подойдет школьникам и взрослым без техподготовки.
Пример: Простая программа на Python легко читается:
А та же программа на C++ выглядит сложной и запутанной:
А та же программа на C++ выглядит сложной и запутанной:
- Python применяется в самых разных сферах: серверы, мобильные и настольные приложения, микроконтроллеры (например, Raspberry Pi), игры, космические разработки (NASA).
- Большое сообщество
- Постоянное развитие
Python активно используется в новых технологических областях — от обработки больших данных до искусственного интеллекта. Даже в узких профессиональных сферах, где раньше использовались другие языки (например, Scala), Python находит себе место.
✅Scala — это модифицированная, функциональная версия Java, которую используют в основном в сфере обработки больших данных. Там она помогает работать с миллионами строк информации, но применяется крайне редко и только в узких областях.
Если зайти на сайт python.org, можно увидеть, что язык активно развивается. Новые версии выходят регулярно, с небольшими интервалами. Это значит, что язык постоянно обновляется, становится удобнее и мощнее.
⚠️Python расширяет свои возможности и сферы применения: если раньше он только входил в область нейросетей, то теперь стал там главным инструментом.
Даже не зная программирования, можно создавать проекты — достаточно уметь формулировать запросы (промпты) для нейросетей. Всё, что нужно: идея, чёткое описание задачи и немного энтузиазма. Например, с помощью ChatGPT можно сгенерировать код по запросу и сразу его использовать.
ChatGPT выдаст готовый код, даст инструкции по запуску и даже подскажет, какую библиотеку установить. Необходимо вставить код в программу, чтобы он заработал.
⚠️Нейросети могут ошибаться. Если в сгенерированном коде будет ошибка, проект не запустится. Важно хотя бы немного разбираться в Python, чтобы уметь замечать проблемы и, при необходимости, просить нейросеть их исправить.
Инструменты для запуска кода ↘️ ✅PyCharm — мощный инструмент от компании JetBrains, заточенный только под Python.
Он умеет сам многое делать за разработчика, но может быть «тяжелым» и требовательным к ресурсам компьютера.
✅Visual Studio Code — лёгкий, универсальный редактор. Он подходит для любого языка программирования и быстро запускается.
Но для полноценной работы с Python требует настройки и знания, как с ним обращаться.
Можно сказать так:
VS Code — это швейцарский нож, с которым можно делать многое, но не всегда удобно.
PyCharm — это специальный инструмент, как нож для хлеба: создан под конкретную задачу и делает её максимально просто и удобно.
✅Terminal — инструмент для продвинутых пользователей.
Как писать код на Python без установки программ ↘️
Чтобы не тратить время на установку и настройку программ, можно писать код прямо в браузере. Для этого используем Visual Studio Code — облегчённую версию популярной среды разработки, которая работает онлайн.
- В поисковой строке браузера вводим в поиске: «vs code web» → переходим на сайт онлайн-редактора — Visual Studio Code Web.
2. Создаём файл: нажимаем Создать файл → вводим имя, например: main.py.
3. Сохраняем файл на компьютере: нажимаем кнопку Save.
4. Пишем код: простейшая программа:print("Привет, мир")
5. Но запуск невозможен: попытка запуска покажет сообщение, что запуск и отладка недоступны в веб-редакторе.
⚠️В Visual Studio код можно только редактировать, но не запустить.
Visual Studio Code удобен, если:
- Работа происходит с планшета или телефона, где невозможно установить полноценную среду разработки.
- Нужно быстро отредактировать файл или внести правки в код.
✅GitHub — это популярная платформа среди программистов. Её можно представить как социальную сеть для разработчиков, где хранятся:
- можно делиться своими проектами или скрывать их;
- смотреть, что делают другие;
- ставить звёзды (аналог лайков);
- оставлять комментарии;
- предлагать улучшения в чужой код — это называется contribution.
⚠️GitHub позволяет запускать VS Code прямо в браузере — без установки на компьютер. Это удобно: можно работать над проектами онлайн, прямо в окне браузера.
Online IDE Pro Чтобы просто попробовать написать код на Python, не нужно ничего устанавливать. Достаточно воспользоваться онлайн-платформой для написания кода. ✅Online IDE Pro — это простая и удобная среда, в которой можно:
2. На главной странице нажимаем кнопку <strong>Start Coding</strong>.
⚠️ Здесь можно начать писать код даже без регистрации. Но лучше войти в аккаунт (например, через Google или GitHub). Тогда будет возможность:
Для входа в аккаунт в верхнем правом углу нажимаем Sign in → выбираем способ входа — Google или GitHub → входим в свой профиль.
3. Создадим проект: нажимаем + New (создать новый проект) → в открывшейся форме вводим имя проекта, например, First Project → выбираем язык Python → вводим описание проекта (по желанию) → нажимаем Create.
4. В открывшемся файле с шаблонным кодом удаляем строки и вводим свою первую программу:
print("Привет, мир")
5. В верху экрана нажимаем Run→ внизу, в терминале отобразится результат:
Переменные ↘️
✅Переменная — это способ сохранить данные в программе. Она позволяет использовать сохранённую информацию позже. Это как коробка, в которую можно положить данные, чтобы использовать их позже.
В программировании переменная — это имя (слово), которому присваивается значение.
name = "Аня" age = 15
name— переменная со значением"Аня"(строка),age— переменная со значением15(целое число).- Присваивание происходит через знак
=, который в программировании означает присвоение, а не равно. - Каждая строка — отдельная инструкция. Python выполняет их по порядку.
✅Комментарий в Python — это текст внутри кода, который не выполняется программой. Он нужен только для того, чтобы человек мог объяснить, что делает конкретная часть кода.
Комментарии начинаются со знака решётки#. Всё, что написано после — игнорируется Python.
# Это комментарий, Python его не выполнит name = "Аня" # Сохраняем имя в переменную
- объяснять, что делает код;
- временно отключать часть кода;
- делать код понятным для других (и для себя в будущем).
⚠️Комментарии — это как заметки на полях: полезны, но не обязательны.
Типы данных
✅Тип данных — это то, какой информацией обладает переменная.
1. Строка (str)
✅string — это текст. Всё, что указывается как слово, предложение или просто набор символов, записывается в кавычках — одинарных или двойных.
name = "Аня"
2. Целое число (int)
✅integer — это просто число без дробной части. Его можно использовать для подсчётов, возрастов, количества и т.д.
В таких переменных можно проводить обычные арифметические действия: сложение, вычитание, умножение и деление.
age = 15
Можете выполнять арифметические операции прямо при присваивании:
age = 15
age = age + 5 # прибавили 5
print(age) # выведет 20
Более короткий и удобный способ записи с помощью +=.
age = 15
age += 5 # прибавили 5
print(age) # снова выведет 20
Python выполняет код строка за строкой, сверху вниз.
age = 15 # сначала присвоено 15
age += 5 # потом прибавлено 5
print(age) # выведен результат: 20
Если поменять порядок строк, результат будет другим.
3. Дробное число (float)
✅float — это число с запятой (в Python используется точка, не запятая). Оно нужно, когда идет работа с измерениями, весом, температурой и всем, что может быть нецелым.
Python автоматически понимает, что это дробное число, если оно записано с точкой.
temperature = 36.6
4. Логическое значение (bool)
✅boolean — это тип, который может хранить только два значения: истина (True) или ложь (False). Он нужен, чтобы отвечать на вопросы типа «да/нет», «есть/нет», «включено/выключено».
Такие переменные часто начинают с is и т.п., чтобы было понятно, на какой вопрос они отвечают.
is_male = False
is_male = True
⚠️Можно оставлять пустые строки для читаемости — Python их игнорирует. Они нужны только для красоты и логических блоков.
✅ Конкатенация — это «склеивание » текстов (строк) друг с другом.
Если написать '15' + '15' Python не сложит числа, а просто склеит текст — получится 1515.
print('15' + '15') # Результат: 1515 Если убрать кавычки и написать 15 + 15, тогда Python выполнит сложение и получится 30.
Если одно из чисел будет дробным, например 15 + 15.0, результат будет 30.0, потому что Python автоматически приведёт тип к дробному.
В Python можно выводить переменные вместе с текстом, просто написав их через запятую.
print("Привет,", name)
print("Тебе", age, "лет") Иногда нужно, чтобы программа реагировала на по-разному в зависимости от условия.
✅Условие в программировании — это конструкция, с помощью которой программа принимает решение: выполнять тот или иной участок кода в зависимости от заданного критерия.
✅if, else и elif — это инструменты, с помощью которых такие развилки в логике создаются.
Например, выражение if age > 18: — это условие. Если оно истинно, выполняется код под ним. Если ложно, программа может перейти к альтернативному варианту (else или elif) или просто пропустить этот блок.
Иначе говоря, условие — это способ заставить программу думать, что делать дальше.
✅input() и int() — это функции,выполняющие определённое действие, при их вызове.
input()— функция, которая получает ввод от пользователя.int()— функция, которая превращает текст в целое число.print()— функция, которая выводит что-то на экран.
age = int(input("Cколько тебе лет? "))
if age >= 18:
print("Дoбpo пожаловать!")
else:
print("Извини, доступ запрещён.")Два основных типа циклов в Python:
- Цикл
for— когда заранее известно, сколько раз нужно выполнить действие.
for i in range(3):
name = input("Kaк тебя зовут? ")
print ("Рад знакомству,", name)
for i in range(3)— повторит код 3 раза.i— это переменная-счётчик, она будет принимать значения 0, 1 и 2 по очереди.- Код внутри цикла пишется с отступом, и он выполняется каждый раз при новой итерации.
2. Цикл while — когда количество повторений заранее неизвестно. Он работает, пока выполняется условие. Например: пока пользователь не введёт правильный пароль, цикл будет повторяться.
password = "abc123"
user_input = input("Bведи пароль: ")
while password != user_input:
print("Неверный napoль!")
user_input = input("Bведи еще раз: ")
print("Дoбpo пожаловать!" )Для решения задач по программированию необязательно владеть языком Python. Существуют нейросети, которые способны автоматически писать код по описанию задачи.
✅ ChatGPT— это самая мощная нейросеть для написания кода. Лучше всего работает с подпиской (GPT-4 или GPT-4o).
ChatGPT выделяется среди прочих по качеству и точности написания кода. Именно его рекомендовано использовать в первую очередь
В условиях ограниченного доступа или отсутствия подписки существуют альтернативы:
- Claude — хорошая замена, можно использовать при необходимости.
- DeepSeek — китайская, бесплатная, работает в России. Подходит для простых задач.
- Mistral— тоже бесплатная, используется как запасной вариант, когда DeepSeek перегружен.
- Gemini (Google);
- Qwen (китайская);
- Grok (от X / Twitter);
- Perplexity — тоже умеет писать код.
Эти нейросети можно использовать как дополнительные инструменты, особенно если основные недоступны или перегружены.
⚠️Можно использовать Telegram-бота Нейрокот, который позволяет взаимодействовать с моделью прямо в мессенджере, что удобно для пользователей в условиях ограниченного доступа.
Каждая из представленных нейросетей может справиться с задачами начального уровня. Выбор конкретного инструмента зависит от доступности и личных предпочтений.
Решение задач с помощью нейросети ChatGPT ↘️
Задача: Високосный год
✅Написать функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую True, если год високосный, и False иначе.
- Переходим в ChatGPT → вводим промпт.
✍️Напиши функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую True, если год високосный, и False иначе. - Получаем код → копируем предложенное решение: нажимаем на кнопку
Copy, чтобы быстро скопировать код. - Открываем Online IDE Pro → вставляем скопированный из ChatGPT код в файл
main.py: используемCtrl+Vили правую кнопку мыши →Вставить.def is_year_leap(year): return year % 4 = 0 and (year % 100 ≠ 0 or year % 400 = 0) - Добавляем примеры использования: копируем их из ChatGPT и вставляем в конце основного кода.
def is_year_leap(year): return year % 4 = 0 and (year % 100 ≠ 0 or year % 400 = 0) print(is_year_leap(2024)) # True print (is_year_leap(1900)) # False print (is_year_leap(2000)) # True print (is_year_leap(2023)) # False
Задача: Квадрат
✅Написать функцию square, принимающую 1 аргумент — сторону квадрата, и возвращающую 3 значения (с помощью кортежа): (периметр квадрата, площадь квадрата и диагональ квадрата).
✅Кортеж — это упорядоченная неизменяемая коллекция данных, записанная в круглых скобках.
- Формулируем запрос:
✍️Напиши функцию square, принимающую 1 аргумент — сторону квадрата, и возвращающую 3 значения (с помощью кортежа): (периметр квадрата, площадь квадрата и диагональ квадрата). - Открываем ChatGPT→ вводим промпт → получаем код → копируем предложенное решение: нажимаем на кнопку
Copy. - Копируем сгенерированный код с помощью кнопки
Copy→ переходим Online IDE Pro → вставляем скопированный из ChatGPT код в файлmain.py(удаляем старый код, если он есть, и вставляем новую функцию).import math def square(side): perimeter = 4 * side area = side ** 2 diagonal = round(side * math.sqrt(2), 2) return perimeter, area, diagonal - Добавляем примеры использования → помещаем в конец файла под функцией.
import math def square(side): perimeter = 4 * side area = side ** 2 diagonal = round(side * math.sqrt(2), 2) return perimeter, area, diagonal print(square(5)) # (20, 25, 7.07) print(square(10)) # (40, 100, 14.14) - Запускаем программу: нажимаем кнопку
Run. На экране появятся две строки с кортежами.
⚠️ Простые задачи по Python легко находятся в интернете или создаются с помощью нейросетей. Для решения достаточно отправить формулировку задачи в нейросеть — она сгенерирует код.
Подобные задачи считаются элементарными и доступны начинающим. После нескольких вводных занятий удаётся решать такие задачи самостоятельно. Точные формулы можно при необходимости подсмотреть — главное понимать структуру кода.
Платформа LeetCode для тренировки решения сложных ↘️
✅ Платформа LeetCode — один из самых популярных ресурсов для подготовки к собеседованиям по программированию в ведущие IT-компании мира.
Здесь собраны задачи разного уровня сложности, включая те, что реально встречаются на интервью в Google, Amazon, Яндекс и других корпорациях. Даже самые сложные задачи можно попробовать решить с помощью ChatGPT, значительно упростив процесс подготовки.
- Заходим на сайт LeetCode: открываем браузер и вводим: leetcode.com → нажимаем
Sign In(войти) илиSign Up(зарегистрироваться), если аккаунта ещё нет. Можно войти через Google, GitHub или по почте. - Переходим в раздел с задачами: после входа в аккаунт нажимаем на верхней панели меню
Problems— это основной раздел с задачами. Здесь доступны задачи разного уровня сложности: Easy, Medium, Hard.
3. Фильтруем по уровню сложности: слева в фильтре выбираем Difficulty → Hard, чтобы найти задачи повышенного уровня сложности (например, как на собеседованиях в Google, Amazon, Яндекс и др.).
4. Выбираем задачу: открываем любую понравившуюся задачу → копируем условие задачи → переходим в ChatGPT → вставляем текст задачи → при наличии шаблона кода (начальной заготовки) — также вставляем его в промпт.
5. ChatGPT сгенерирует готовое решение → копируем предложенный код → на странице задачи вставляем полученный код в редактор LeetCode → проверяем, что выбран язык Python→ нажимаем Run, чтобы проверить правильность решения.
6. Если внизу появится статус Accepted, значит задача решена правильно.
⚠️ Такой подход позволяет быстро и эффективно разбирать даже сложные алгоритмические задачи, используя возможности нейросети.
4. Подготовка к серьезному программированию
Регистрация на GitHub↘️
В поисковой строке браузера набираем github.com → открываем главную страницу GitHub .
В правом верхнем углу экрана нажимаем Sign upдля регистрации (если уже есть аккаунт нажимаем Sign in)
В открывшемся окне вводим адрес электронной почты → в следующем поле вводим пароль (надежный пароль — минимум 8 символов, с заглавными и строчными буквами, цифрами и спецсимволами)→ вводим желаемый никнейм, который будет использоваться на GitHub в соответствующее поле → указываем любую страну из списка (например, Казахстан, если Россия отсутствует)→ при желании отмечаем или снимаем галочку с пункта про e-mail-рассылки → нажимаем на кнопку Continue .
Подтверждаем почту: заходим на указанную почту → открываем письмо от GitHub → вводим полученный код подтверждения.
После завершения всех шагов регистрации система открывает главную страницу GitHub.
Создание своего GitHub WorkSpaces ↘️
- В поисковой строке браузера вводим: «github codespaces» → переходим по ссылке на страницу.
Нажимаем кнопку Get started for free → откроется страница создания рабочего пространства. Если пользователь уже авторизован в GitHub, аккаунт будет определён автоматически. В противном случае необходимо ввести логин (или почту) и пароль от GitHub.
Создадим новое рабочее пространство: выбираем пустой шаблон Blank → нажимаем Use this template.
Настроим среду: при открытиирабочего пространства можно сразу поменять тему: выбрать, например, Dark Modern.
Напишем и запустим код: слева вверху нажимаем New File→ вводим имя файла main.py → нажимаем Enter.
В открывшемся окне пропишем код.print("Hello, world!")
Справа снизу появится предложение установить расширение Python → нажимаем Install→ после установки появится кнопка Run → нажимаем на её, чтобы запустить код.
Снизу в терминале отобразится результат выполнения: Hello, world!
Если не появилось предложение установить Python:открываем слева иконку с квадратами) → в поиске вводимPython и устанавливаем вручную.
- Создаём игру: переходим в ChatGPT → формулируем запрос:
✍️ Сделай консольную игру, где нужно отгадывать 3 случайные народные загадки из - Нейросеть выдаст код игры → нажимаем
Copy.
3. Переходим в Codespaces открываем файлmain.py → вставляем скопированный код (заменив print("Hello, world!")) → нажимаем Run→ программа запустится в терминале внизу, можно играть прямо в браузере
Опубликуем проект на GitHub: слева нажимаем на вкладку Source Control (иконка с вилкой) → нажимаем кнопку Publish to GitHub→ разрешаем использовать GitHub аккаунт → выбираем имя репозитория и приватность → подтверждаем загрузку.
Нажимаем на аватарку в верхнем правом углу → в открывшемся меню выбираем Your repositories → переходим в раздел Repositories → появится репозиторий с кодом.
Можно легко изменить игру: добавить больше загадок, сделать счёт, уровни, подсказки или попросить ChatGPT изменить код по заданию (например, добавить таймер или вести статистику).
- Степенная сумма: При заданном целом числе n, найдите результат выражения \(n^2 + n^3 + n^4\).
- Фильтрация и подсчет: Напишите программу, которая принимает список чисел и выводит все положительные числа. Программа должна завершиться, как только будет найдено первое отрицательное число.
- Дробь с округлением: Найдите наименьшую обыкновенную дробь, приближенную к вещественному числу 9.75, и выведите ее на экран в формате '9.75 ≈ числитель/знаменатель', округляя до двух знаков после запятой.
- Форматирование времени: Преобразуйте общее количество минут в строку формата "дни:часы:минуты", где дни и часы округляются до целых значений.
- Проверка на делимость: Напишите программу, которая принимает целое число и определяет, делится ли оно на 5 без остатка.
- Конвертация расстояний: Напишите программу, которая принимает расстояние в километрах и переводит его в мили или наоборот, в зависимости от выбора пользователя.
🧠 Это может быть абсолютная любая текстовая игра, но с логикой для двоих игроков, которые играют друг с другом или против “компьютера”.
В поле для ответа загрузи скриншоты кода решенных задач и запросы/скриншот работы игры.