January 12, 2025

Разработки на Python с помощью ChatGPT        

(УРОК 1)

▶️ Время чтения и просмотра: ~ 1 - 1,5 часа

Теория на сегодня

1. Знакомство с экспертом. Что ждет на интенсиве

Наш эксперт - Стефанцова Нина

  • Преподаватель по веб-разработке и программированию на Python.
  • Эксперт ведущих российских IT-компаний (GeekBrains (VK Group), Rubius).
  • Фаундер студии ToxicTec
  • Автор профессионального блога и тематических колонок для профильных медиа в сфере образования и IT (RussiaToday, Хайтек ФМ и др).

Что ждет на интенсиве?

  1. Порешаем задачи с собеседований в Яндекс
  2. Разработаем самого простого Telegram-бота
  3. Разработаем более сложного Telegram-бота и внедрим в него искусственный интеллект
  4. Модифицируем Telegram-бота: добавим возможность отвечать голосовыми сообщениями

2. Особенности и преимущества разработки на Python с помощью ChatGPT

Почему Нина выбрала Python?

  1. Простота в изучении и использовании: Python имеет простой и понятный синтаксис, который делает его идеальным выбором для начинающих программистов. Это уменьшает время на изучение языка и позволяет быстро приступить к разработке.
  2. Множество библиотек и фреймворков: Python обладает огромным экосистемой библиотек и фреймворков, которые предоставляют разнообразные инструменты для разработки, начиная от веб-разработки и машинного обучения, и заканчивая научными вычислениями и анализом данных.
  3. Кроссплатформенность: Python поддерживает все основные операционные системы (Windows, macOS, Linux), что позволяет разрабатывать приложения, работающие на различных платформах.
  4. Широкое применение: Python используется в различных областях, таких как веб-разработка, научные исследования, разработка игр, машинное обучение и искусственный интеллект, автоматизация задач, разработка приложений для администрирования и многое другое.

Преимущества использования ChatGPT в разработке на Python

  1. Простота интеграции: ChatGPT предоставляется в виде API, что делает его легко интегрируемым в проекты на Python. С помощью простых HTTP-запросов можно отправлять текстовые запросы к модели и получать ответы.
  2. Нейронная сеть с улучшенной архитектурой: ChatGPT использует передовую архитектуру нейронной сети, которая обучается на огромных объемах текста, что позволяет ему лучше понимать контекст и писать более качественный код
  3. Скорость: Использование ChatGPT в разработке на Python предоставляет разработчикам мощный инструмент для создания приложений, которые могут генерировать естественно звучащие тексты и взаимодействовать с пользователями на естественном языке за считанные минуты

3. Знакомство с IDE Repl.it.

Что такое IDE?

IDE (Integrated Development Environment) - это интегрированная среда разработки, представляющая собой программное обеспечение, объединяющее в себе редактор кода, средства отладки, компиляции и выполнения программ, а также другие инструменты, необходимые для разработки программного обеспечения. IDE обеспечивает удобную и эффективную среду для работы программиста, улучшая его производительность и упрощая процесс разработки.

Регистрация в IDE Repl.it.

Как создать свой первый проект в IDE Repl.it?

После завершения процесса регистрации на платформе Repl.it, настало время приступить к созданию своего первого проекта.

  1. После входа ты увидишь всплывающее окно, предлагающее выбрать цель и уровень владения проектом. Выбери уровень, который соответствует твоему уровню знаний и опыта в программировании.

2. Далее всплывает окно с выбором языка программирования. Поскольку мы здесь собрались для изучения языка программирования Python, выбираем его :)

3. Придумай название своего первого проекта!

❗ При разработке проектов на Python важно придумывать названия таким образом, чтобы они четко отражали суть проекта. Это поможет вам и другим разработчикам легко понять, о чем именно проект и какие задачи он решает. Поэтому старайтесь выбирать информативные и лаконичные названия, которые будут ясно отображать цель и функционал вашего проекта.

4. Ура! Твой первый проект создан.

4. Решение задач с собеседований

Теперь порешаем простые задачи и задачи с собеседования в Яндекс

Задача 1. Подсчет факториала заданного числа. Решение:

  1. Копируем условие задачи и переходим в Нейрокота
  2. Пишем запрос “Напиши программу на языке программирования Python, для нахождения факториала заданного числа” и отправляем запрос

❗Написание кода может занять какое-то время

3. Полученный код копируем:

4. И вставляем в Repl.it:

5. Ура! Код работает!

Отлично мы решили первую задачу, приступим ко второй.

Задача 2. Подсчет простых чисел. Решение:

  1. Копируем условие задачи и переходим в Нейрокота
  2. Пишем запрос “Напиши код на языке программирования Python, который будет выводить в консоль первые 20 простых чисел”
  3. Копируем полученный код, вставляем в Repl.it и тестируем.
  4. Ура! Снова все получилось.

Теперь порешаем задачи немного сложнее предыдущих. Попробуй решить их самостоятельно с помощью Нейрокота.

Задача 3. Есть список a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]. Выведите все элементы, которые меньше 5.

Задача 4.

Даны списки:

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89];

b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13].

Нужно вернуть список, который состоит из элементов, общих для этих двух списков.

Переходим к сложным задачам - задачам с собеседования в Яндекс

  • Задача 1. Есть массив со словами, в котором есть хотя бы одно слово. Надо найти максимально длинное общее начало каждого слова. Если такого нет — вывести пустую строку. Решение:
  1. Копируем условие задачи и переходим в Нейрокота
  2. Пишем запрос “Напиши код для решения данной задачи на языке программирования Python: Есть массив со словами, в котором есть хотя бы одно слово. Надо найти максимально длинное общее начало каждого слова. Если такого нет — вывести пустую строку
  3. Копируем полученный код, вставляем в Repl.it и тестируем.

❗При возникновении ошибки при запуске кода, скопируй сообщение об ошибке и обратись к Нейрокоту, чтобы запросить его помощь в ее решении.

Ура, мы смогли решить одну из задач от Яндекса за очень короткое время! Теперь повторяя за экспертом реши вторую задачу.

Задача 2.

Дан массив a из n целых чисел. Напишите программу, которая найдет число, которое чаще других встречается в массиве. Ограничение времени: 2 с, ограничение памяти: 256 МБ.

Формат ввода

В первой строке входных данных записано число n (1 ≤ n ≤ 300 000).

Во второй строке записаны n целых чисел ai (0 ≤ ai ≤ 1 000 000 000).

Формат вывода

Выведите единственное число x, наибольшее из чисел, которое чаще других встречается в массиве a

5. Разработка Telegram-бота

Теперь ты создашь своего первого Telegram-бота. В целом, ничего сложного, мы проделаем такие же шаги, как и при решении задач от Яндекса. Но….

Для создания Telegram-бота, помимо запроса в нейросеть, тебе нужно будет создать свой токен.

❗ Токен - уникальная строка символов, выдаваемая при создании бота через BotFather, которая используется для идентификации и аутентификации бота при взаимодействии с API Telegram.

Как получить токен?

  1. Заходим в https://t.me/BotFather и пишем /newbot
  2. Выбираем название для Telegram-бота
  3. Копируем токен

4. Переходим в Repl.it и вставляем вместо “your bot token” свой токен

Промпт для создания Telegram-бота “напиши код для создания Telegram-бота на языке программирования Python с использованием библиотеки telebot, который сможет отвечать на простые вопросы *здесь пропишите любые вопросы*”

❗ Также не забудь установить библиотеку telebot

Поздравляем! Ты разработал(-а) своего первого Telegram-бота.

6. Итоги урока

Итак, за этот урок мы:

Узнали как можно легко и быстро программировать на Python с помощью ChatGPT, порешали задачи с собеседований в Яндекс и разработали Telegram-бота. На следующем уроке мы будем разрабатывать более сложного бота и добавлять искусственный интеллект в программу.

Дополнительные материалы:

Коды к первому уроку

https://drive.google.com/file/d/1snxQ3BkzfwBp5KyiEDLgBHVC7Ueg0M-S/view?usp=sharing

https://drive.google.com/file/d/1SZ4cbpukHwqNJ_j1NaCsdS5qvmJ9EOD-/view? usp=sharing

https://drive.google.com/file/d/1SZ4cbpukHwqNJ_j1NaCsdS5qvmJ9EOD-/view?usp=sharing


https://drive.google.com/file/d/1RKXApcOeif6jv0egY5MlLqDhhJsbEoV2/view?usp=sharing



ЗАДАНИЕ К САМОПРОВЕКЕ

  • Реши задачи с помощью нейросети:
  1. При заданном целом числе n посчитайте n + nn + nnn.
  2. Напишите программу, которая выводит чётные числа из заданного списка и останавливается, если встречает число 237.
  3. Найдите наименьшую обыкновенную дробь, равную вещественному числу 14.375, и выведите ее на экран в формате '14.375 = числитель/знаменатель'
  4. Сделайте так, чтобы число секунд отображалось в виде дни:часы:минуты:секунды.
  5. Напишите программу, которая принимает на вход целое число и определяет, является ли оно четным или нечетным.
  6. Создайте простой калькулятор, который позволяет пользователю вводить два числа и выполнять над ними основные арифметические операции (сложение, вычитание, умножение, деление).
  7. Напишите программу, которая принимает на вход температуру в градусах Цельсия и переводит ее в градусы Фаренгейта или наоборот, в зависимости от выбора пользователя.
  8. Создайте программу, которая генерирует случайное число в определенном диапазоне и выводит его на экран.
  • Разработай своего эхо-бота

🧠 Эхо-бот - это бот, который повторяет то, что мы ему отправляем. Если мы отправим ему сообщение, он просто вернет то же самое сообщение. Это часто используется для тестирования или демонстрации работы ботов.

Пример использования:

  1. Отправляем боту сообщение "Привет, бот!".
  2. Бот получает сообщение и возвращает его обратно.
  3. Получаем ответ от бота: "Привет, бот!".

В поле для ответа загрузи скриншоты кода решенных задач и запросы/ответы в эхо-боте.

Загружай, пожалуйста, скриншоты в формате изображений (png, jpg или pdf). Чтобы быстро сделать и сохранить скриншот в формате изображения, можешь установить специальную программу, например Joxi.

Внимание! Задание к этому уроку принимается автоматически, но если ты не сделаешь его правильно, то не сможешь выполнить задание к последнему уроку, которое будет проверяться куратором.

(требуется редактирование копипасты)