CodeLab
🧑💻 Что такое метки? Щас разберемся! 0️⃣⚙️ Если вы хотите спрогнозировать тип домашнего животного (например, кошки или собаки) на основе наших данных о нем, то метка — это тип домашнего животного (кошка/собака). Давайте вернемся к недвижке. Меткой в случае…
👨🏼💻 Так, мы остановились на размеченных данных, ща поговорим про неразмеченные.
⚙️ Уже по логике можно догадаться, что это задания без метки. Придумывать ничего не надо, держите пример из книги.
⚙️ Уже по логике можно догадаться, что это задания без метки. Придумывать ничего не надо, держите пример из книги.
👍1👨💻1
🔗 Очень важно, размеченные и неразмеченные данные дальше дают нам такие понятия как контролируемое обучение и неконтролируемое.
Контролируемое обучение — это тип машинного обучения, при котором используются размеченные данные.
Помните метки ⁉️ Да - да, это те самые, которые являются по сути результатом (который модель должны предсказать). Давайте мб вспомним про них.
🟰 Допустим, наша модель получила входные данные и их метки (где кошки, где собаки, ну вы поняли). Дак вот, модель получила данные с метками и на основе этих данных учится. После обучения, она и сама с кайфом может предсказать, где кошка, а где собака.🟰
‼️ Итак, цель контролируемого обучения состоит в том, чтобы спрогнозировать метки для новых данных, основываясь на образцах, полученных во время обучения нашей с вами модели.
🧑💻 Давайте парочку примеров разберем:
0️⃣ Хотим мы обучить модель распознавать цифры от 0 до 9, написанные от руки, почему бы и нет?) Входными данными будут служить изображения этих самих цифр, наша моделька должна же понимать че да как. А вот метками будут сами цифры (как я и говорил, результаты, которые наша модель должна предсказать). Целью будет, понятное дело, модель, которая предсказывает цифры.
1️⃣ Цифр нам не хватило, го перейдем к недвижке. Наша модель должна должна предсказывать цену на жилье на основе наших данных (характеристики хаты, ее площадь, расположение (насколько близко к центру или к морю мб), возраст дома, количество комнат и тд). Метка (ожидаемый результат) — это цена дома. А на выходе, наша модель после обучения должна предсказывать метки для новых данных.
2️⃣ Зашли на почту, нам присылают странные письма, как проверить, SCAM или нет⁉️ Модель должна различать SCAM и нормальные письма.
🟰Мы уже в начале обсуждали такой пример🟰 — чекайте
Входные данные будут зависеть от того, насколько мы хотим заморочиться 🧑💻. Можем задать такие входные данные, как:
◽️размер письма,
◽️еще условие того, в какой день недели нам прислали сообщение (вполне возможно),
◽️наличие каких то слов-ключей (слова по типу: "купи", 'переходи' и тд).
Контролируемое обучение — это тип машинного обучения, при котором используются размеченные данные.
Помните метки ⁉️ Да - да, это те самые, которые являются по сути результатом (который модель должны предсказать). Давайте мб вспомним про них.
🟰 Допустим, наша модель получила входные данные и их метки (где кошки, где собаки, ну вы поняли). Дак вот, модель получила данные с метками и на основе этих данных учится. После обучения, она и сама с кайфом может предсказать, где кошка, а где собака.🟰
‼️ Итак, цель контролируемого обучения состоит в том, чтобы спрогнозировать метки для новых данных, основываясь на образцах, полученных во время обучения нашей с вами модели.
🧑💻 Давайте парочку примеров разберем:
0️⃣ Хотим мы обучить модель распознавать цифры от 0 до 9, написанные от руки, почему бы и нет?) Входными данными будут служить изображения этих самих цифр, наша моделька должна же понимать че да как. А вот метками будут сами цифры (как я и говорил, результаты, которые наша модель должна предсказать). Целью будет, понятное дело, модель, которая предсказывает цифры.
1️⃣ Цифр нам не хватило, го перейдем к недвижке. Наша модель должна должна предсказывать цену на жилье на основе наших данных (характеристики хаты, ее площадь, расположение (насколько близко к центру или к морю мб), возраст дома, количество комнат и тд). Метка (ожидаемый результат) — это цена дома. А на выходе, наша модель после обучения должна предсказывать метки для новых данных.
2️⃣ Зашли на почту, нам присылают странные письма, как проверить, SCAM или нет⁉️ Модель должна различать SCAM и нормальные письма.
🟰Мы уже в начале обсуждали такой пример🟰 — чекайте
Входные данные будут зависеть от того, насколько мы хотим заморочиться 🧑💻. Можем задать такие входные данные, как:
◽️размер письма,
◽️еще условие того, в какой день недели нам прислали сообщение (вполне возможно),
◽️наличие каких то слов-ключей (слова по типу: "купи", 'переходи' и тд).
Telegram
CodeLab
Это, чтобы вы, гайс, не терялись 😋
0️⃣ Простейшие понятия
1️⃣ И еще важные понятия (их будет много)
2️⃣ Пример 1 (Модель 1)
3️⃣ Пример 2 (Модель 2)
4️⃣ Модель 3 (Обязательно к прочтению)
5️⃣ Модель 4 и 5 (Вероятные изменения)
6️⃣ Модель 6 (Вероятные…
0️⃣ Простейшие понятия
1️⃣ И еще важные понятия (их будет много)
2️⃣ Пример 1 (Модель 1)
3️⃣ Пример 2 (Модель 2)
4️⃣ Модель 3 (Обязательно к прочтению)
5️⃣ Модель 4 и 5 (Вероятные изменения)
6️⃣ Модель 6 (Вероятные…
👍1🤯1
Итааак, неконтролируемое обучение, че это ⁉️
Если в контролируемом обучении модель работает с размеченными данными. то, логично, что в неконтролируемом обучении — с неразмеченными.
⭕️ Мы также подаем данные, различие лишь в том, что у этих данных нет никаких меток для прогнозирования, но при этом всем, модель должна найти закономерность в этих данных, научиться различать и отличать.
👨💻 Это если бы подавали данные в виде кучи изображений кошек и собак:
▫️Если в контролируемом обучении, мы подали бы размеченные данные, модель с кайфом поняла бы, собака это или кошка. Наша модель изучит по косарю изображений животных (изучит их отличительные признаки, шерсть, размер, лапы, и тд) и затем, когда мы подадим новое изображение животного и спросим: Что это за животное чел? Модель естественно предскажет, собака это или кошка.
✅ Воот, надеюсь вы поняли че там с контролируемым обучением, теперь та же ситуация, но с неконтролируемым...
▫️Если в неконтролируемом обучении мы подали бы изображения наших зверей без меток, модель вообще не понимала бы, где там кошки, а где собаки. Затем модель начинает проводить анализ, находить группы кластеров (алгоритмы кластеризции) — я об этом напишу в следующем посте... Кароч, модель начинает находить похожие закономерности, опираясь только характеристики входных изображений. По итогу, модель разделит кошек и собак, но при этом не будет понимать кто это. Но зато поймет куда относить новое изображение, когда мы подадим на вход очередную собачку.
Если в контролируемом обучении модель работает с размеченными данными. то, логично, что в неконтролируемом обучении — с неразмеченными.
⭕️ Мы также подаем данные, различие лишь в том, что у этих данных нет никаких меток для прогнозирования, но при этом всем, модель должна найти закономерность в этих данных, научиться различать и отличать.
👨💻 Это если бы подавали данные в виде кучи изображений кошек и собак:
▫️Если в контролируемом обучении, мы подали бы размеченные данные, модель с кайфом поняла бы, собака это или кошка. Наша модель изучит по косарю изображений животных (изучит их отличительные признаки, шерсть, размер, лапы, и тд) и затем, когда мы подадим новое изображение животного и спросим: Что это за животное чел? Модель естественно предскажет, собака это или кошка.
✅ Воот, надеюсь вы поняли че там с контролируемым обучением, теперь та же ситуация, но с неконтролируемым...
▫️Если в неконтролируемом обучении мы подали бы изображения наших зверей без меток, модель вообще не понимала бы, где там кошки, а где собаки. Затем модель начинает проводить анализ, находить группы кластеров (алгоритмы кластеризции) — я об этом напишу в следующем посте... Кароч, модель начинает находить похожие закономерности, опираясь только характеристики входных изображений. По итогу, модель разделит кошек и собак, но при этом не будет понимать кто это. Но зато поймет куда относить новое изображение, когда мы подадим на вход очередную собачку.
👍1👨💻1👀1
⭕️ Новый раздел Навигации!
🔗 Здесь будут разборы кода на Python, либо буду придумывать что-то сам, либо через нейронки, либо буду цеплять код где-то в инете. Сама концепция будет в том, что мы будем писать и разбирать код. 🧑💻
📋 Разбор кода для бинарного поиска 🟰 Если что, код взят с раздела про BIG(O)🟰
📋Разбор кода 🟰(нужно найти все четные числа, которые пользователь вводит в список через пробел, а затем найти их сумму)🟰
📋Разбор кода 🟰(Алгоритм сортировки выбором)🟰 (Продолжение разбора)
📋Разбор кода 🟰(Задание из егэ, но очень хорошее для понимания многих тем)🟰(Само задание)
📋Разбор кода 🟰 (Сокращение строки)
📋Разбор кода 🟰 (Пишем целый проект и знакомимся с функциями)
📋Разбор кода
🔗 Здесь будут разборы кода на Python, либо буду придумывать что-то сам, либо через нейронки, либо буду цеплять код где-то в инете. Сама концепция будет в том, что мы будем писать и разбирать код. 🧑💻
📋 Разбор кода для бинарного поиска 🟰 Если что, код взят с раздела про BIG(O)🟰
📋Разбор кода 🟰(нужно найти все четные числа, которые пользователь вводит в список через пробел, а затем найти их сумму)🟰
📋Разбор кода 🟰(Алгоритм сортировки выбором)🟰 (Продолжение разбора)
📋Разбор кода 🟰(Задание из егэ, но очень хорошее для понимания многих тем)🟰(Само задание)
📋Разбор кода 🟰 (Сокращение строки)
📋Разбор кода 🟰 (Пишем целый проект и знакомимся с функциями)
📋Разбор кода
👍1👨💻1👀1
🐍 Разбор кода (Python)
Сразу скажу, код будет несложный, просто я начну с рассуждений, а вы можете сидеть и параллельно моим рассуждениям писать код. Можете в комменты кидать свои варианты👇🏻
🧑💻 Допустим, вам сказали написать такой код; При вводе чисел через пробел, создается список, в который будут записываться только четные числа, и уже потом код должен вывести эти числа и посчитать их сумму. Го пробовать:
0️⃣ Итак, первое че делаем — это пишем функцию для считывания строки:
🟰
Зач нам split()? Вопрос хороший, как вы помните (а мы разбирали метод split(), чекайте навигацию), метод разделяет метод по разделителю и возвращает список, ввели мы 1 2 3 4 5, значит будет ['1', '2' ... и тд
1️⃣‼️🟰
Просто вкратце: результатом такой строки будет новый список, уже с преобразованными числами
2️⃣ Создаем новый список 🟰
3️⃣ ❗️На этапе 1 генератор списка вернул нам новый список с числами, нам теперь нужно найти из них четные, поэтому перебираем...
⭕️ Выводим четные числа:
4️⃣ Теперь подсчитаем сумму четных чисел, создаем счетчик:
🟰
🔗 И теперь проходим по списку 🟰
5️⃣ Выводим сумму:
🧑💻 Мы просто красавчики, теперь получаем такой вот код:
Сразу скажу, код будет несложный, просто я начну с рассуждений, а вы можете сидеть и параллельно моим рассуждениям писать код. Можете в комменты кидать свои варианты👇🏻
🧑💻 Допустим, вам сказали написать такой код; При вводе чисел через пробел, создается список, в который будут записываться только четные числа, и уже потом код должен вывести эти числа и посчитать их сумму. Го пробовать:
0️⃣ Итак, первое че делаем — это пишем функцию для считывания строки:
🟰
numbers = input("Вводим числа через пробел: ").split()🟰Зач нам split()? Вопрос хороший, как вы помните (а мы разбирали метод split(), чекайте навигацию), метод разделяет метод по разделителю и возвращает список, ввели мы 1 2 3 4 5, значит будет ['1', '2' ... и тд
1️⃣‼️🟰
numbers = [int(num) for num in numbers]🟰 — это генератор списка, и да, мы не разбирали это все, но будем потихоньку вливаться. Сама суть этой строчки в преобразовании строки в целое число. То есть, метод split() разделил строку на части по пробелам, а генератор списка преобразовывает эти самые части в целые числа.‼️ Просто вкратце: результатом такой строки будет новый список, уже с преобразованными числами
2️⃣ Создаем новый список 🟰
even_numbers = []🟰 (список для четных чисел)3️⃣ ❗️На этапе 1 генератор списка вернул нам новый список с числами, нам теперь нужно найти из них четные, поэтому перебираем...
for num in numbers:
if num % 2 == 0: # Проверка на четность
even_numbers.append(num) # Добавляем в список для четных чисел, непосредственно, четные числа)
⭕️ Выводим четные числа:
print("Чётные числа:", even_numbers)4️⃣ Теперь подсчитаем сумму четных чисел, создаем счетчик:
🟰
sum_even = 0🟰 (Сумма четных чисел)🔗 И теперь проходим по списку 🟰
even_numbers🟰 и вычисляем сумму всех элементов этого списка:sum_even = 0
for even in even_numbers:
sum_even += even #Подсчет суммы
5️⃣ Выводим сумму:
print("Сумма чётных чисел:", sum_even)🧑💻 Мы просто красавчики, теперь получаем такой вот код:
numbers = input("Вводим числа через пробел: ").split()
numbers = [int(num) for num in numbers]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print("Чётные числа:", even_numbers)
sum_even = 0
for even in even_numbers:
sum_even += even
print("Сумма чётных чисел:", sum_even)👍2🥰1👨💻1👀1
👨🏼💻 Добрый ночи гайс)
Надеюсь вы с большим кайфом проводите свои выходные) Сам решил отдохнуть, поэтому пост ток щас выкладываю.
⭕️ Я вчера выложил пост про неконтролируемое обучение и упомянул кластеры ( алгоритмы кластеризации ).
⚙️ Вы уже должны знать, что в неконтролируемом обучении модель работает с неразмеченными данными ( нет никаких меток ). К чему это я, наша модель должна же как-то извлечь информацию из нашего набора данных, об этом и поговорим…
💡Дак вот, алгоритмы кластеризации — это такие алгоритмы, которые разбивают набор данных на группы, а эти самые группы называются кластерами ( разбиваются данные на кластеры по какому-то сходству ), по сути, так модель и извлекает инфу из входных данных без меток га основе их сходства ( один из способов )
💤 Завтра напишу об этом подробнее, как никак, надо себе давать отдохнуть)
Надеюсь вы с большим кайфом проводите свои выходные) Сам решил отдохнуть, поэтому пост ток щас выкладываю.
⭕️ Я вчера выложил пост про неконтролируемое обучение и упомянул кластеры ( алгоритмы кластеризации ).
⚙️ Вы уже должны знать, что в неконтролируемом обучении модель работает с неразмеченными данными ( нет никаких меток ). К чему это я, наша модель должна же как-то извлечь информацию из нашего набора данных, об этом и поговорим…
💡Дак вот, алгоритмы кластеризации — это такие алгоритмы, которые разбивают набор данных на группы, а эти самые группы называются кластерами ( разбиваются данные на кластеры по какому-то сходству ), по сути, так модель и извлекает инфу из входных данных без меток га основе их сходства ( один из способов )
💤 Завтра напишу об этом подробнее, как никак, надо себе давать отдохнуть)
👍1👎1🥰1🤓1
🔗 Так, возникла проблема с ссылками в посте с курсом
🧑💻 Думал, что можно сделать и решил, что лучше просто выложить продолжение поста да и все, поэтому держите навигацию по Python: "Поколение Python": курс для начинающих (часть 2):
🔗 Частые сценарии:
Количество чисел (7.3) 🔗 Другое решение
Сумма чисел (7.3)
Асимпотическое приближение (7.3)
Задача Сумма чисел 2 (7.3) 🟰 и сам код 🔗 Решение 2 🔗 Решение 3 🔗 Решение 4
Факториал (7.3)
Без нулей (7.3) 🔗 Решение 2 (Применяется генератор списка) 🔗 ← Разбираю генератор списка
Сумма делителей (7.3)
Знакочередующаяся сумма (7.3) 🔗 Решение 2 🔗 Решение 3
Небольшие числа (7.3) 🔗 Решение 2
Последовательность Фибоначчи 🌶 (7.3)
Only even numbers 🌶 (7.3)
До КОНЦА 1
🟰Н А В И Г А Ц И Я🟰
🧑💻 Думал, что можно сделать и решил, что лучше просто выложить продолжение поста да и все, поэтому держите навигацию по Python: "Поколение Python": курс для начинающих (часть 2):
🔗 Частые сценарии:
Количество чисел (7.3) 🔗 Другое решение
Сумма чисел (7.3)
Асимпотическое приближение (7.3)
Задача Сумма чисел 2 (7.3) 🟰 и сам код 🔗 Решение 2 🔗 Решение 3 🔗 Решение 4
Факториал (7.3)
Без нулей (7.3) 🔗 Решение 2 (Применяется генератор списка) 🔗 ← Разбираю генератор списка
Сумма делителей (7.3)
Знакочередующаяся сумма (7.3) 🔗 Решение 2 🔗 Решение 3
Небольшие числа (7.3) 🔗 Решение 2
Последовательность Фибоначчи 🌶 (7.3)
Only even numbers 🌶 (7.3)
До КОНЦА 1
🟰Н А В И Г А Ц И Я🟰
Кластеры — это просто группы данных (объектов), которые имеют схожие характеристики. А вот Кластеризация — это задача группировки этих самых данных таким образом, чтобы данные в одном кластере (группе данных) были более схожими чем другие данные в другом кластере...🌶 Как бы вам попонятнее объяснить? Берем пример из книги:
В таблице указано количество получателей и размер писем.
⭕️ Мы можем сгруппировать их по размеру в три кластера:
🔗 Письма <= 20 кб
🔗 Письма 20 кб <= 40 кб
🔗 Письма >= 40 кб
⭕️ Или можно сгруппировать по количеству получателей подобным образом...
🟰 <= 5 получателей
🟰 >5 получателей
кластеризация — это процесс группировки данных (это вам максимально вкратце)
В таблице указано количество получателей и размер писем.
⭕️ Мы можем сгруппировать их по размеру в три кластера:
🔗 Письма <= 20 кб
🔗 Письма 20 кб <= 40 кб
🔗 Письма >= 40 кб
⭕️ Или можно сгруппировать по количеству получателей подобным образом...
🟰 <= 5 получателей
🟰 >5 получателей
кластеризация — это процесс группировки данных (это вам максимально вкратце)
🔗 Где вообще нужна кластеризация?
▫️Первое — это сегментация рынка, то есть, разделение нас, потребителей, на группы по характеристикам для разработки эффективных стратегий маркетинга и продаж.
▫️Второе — это сегментация изображений, то есть, на основе схожих пикселей наша моделька будет разделять изображения на сегменты
▫️Третье — это рекомендации видео разделение подписичников на группы на основе предпочтений, демографических данных и просмотренных ранее видосов.
▫️Первое — это сегментация рынка, то есть, разделение нас, потребителей, на группы по характеристикам для разработки эффективных стратегий маркетинга и продаж.
▫️Второе — это сегментация изображений, то есть, на основе схожих пикселей наша моделька будет разделять изображения на сегменты
▫️Третье — это рекомендации видео разделение подписичников на группы на основе предпочтений, демографических данных и просмотренных ранее видосов.
👨🏼💻 "Основные направления неконтролируемого обучения — это кластеризация, понижение размерности и генеративное обучение"
⛓️💥Про кластеризацию поговорили. Дальше будет понижение размерности.
⚙️ По сути, это такой процесс, который преобразовывает данные в наиболее удобную для анализа и интерпретации форму. Возьмем пример из книги, уж очень он хороший:
У нас есть набор данных:
▫️размер;
▫️количество спален
▫️количество ванных комнат;
▫️уровень преступности в районе;
▫️расстояние до ближайшей школы
⭕️ Суть в чем, в этом наборе данных 5 столбцов, но мы можем его сократить, не теряя при этом смысла и большого количества информации.
📊 Первые три признака похожи и связаны с размером дома:
(размер, количество спален,
количество ванных комнат) = размер дома
Последние два признака похожи и связаны с благополучием района:
(уровень преступности в районе, расстояние до ближайшей школы) = благополучие района
Всем 😴
⛓️💥Про кластеризацию поговорили. Дальше будет понижение размерности.
⚙️ По сути, это такой процесс, который преобразовывает данные в наиболее удобную для анализа и интерпретации форму. Возьмем пример из книги, уж очень он хороший:
У нас есть набор данных:
▫️размер;
▫️количество спален
▫️количество ванных комнат;
▫️уровень преступности в районе;
▫️расстояние до ближайшей школы
⭕️ Суть в чем, в этом наборе данных 5 столбцов, но мы можем его сократить, не теряя при этом смысла и большого количества информации.
📊 Первые три признака похожи и связаны с размером дома:
(размер, количество спален,
количество ванных комнат) = размер дома
Последние два признака похожи и связаны с благополучием района:
(уровень преступности в районе, расстояние до ближайшей школы) = благополучие района
Всем 😴
🤯2
🧑💻 Канал у нас для всех, поэтому, так подумал, почему бы не сделать раздел с решениями задач с ЕГЭ⁉️ Актуально да и, возможно, кому то смогу помочь, поэтому держите новый раздел для Навигации: ЕГЭ
🔗 Введение
__________________________________
🔗 Тип 14 № 26959 (Разбор) 🟰 Продолжение 🟰 и еще продолжение
__________________________________
🔗 Введение к заданию 🔗 Тип 5 № 60247 (Разбор)
🔗 Введение
__________________________________
🔗 Тип 14 № 26959 (Разбор) 🟰 Продолжение 🟰 и еще продолжение
__________________________________
🔗 Введение к заданию 🔗 Тип 5 № 60247 (Разбор)
👍5
🔗 В целом, во всех вариантах исходный код для решения есть, что-то новое придумывать не стоит, зато можно разобрать коды как можно лучше. Лично я, когда сдавал ЕГЭ, просто запоминал их) Зато сейчаc, смогу с кайфом объяснить вам, что и как работает...
👨💻2🤯1
Попадается нам вот такое задание, что же блин делать?
0️⃣ Первое, записываем наше выражение, все как есть. Переменная, пусть будет — result:
▫️ a ** b — это возведение в степень, так, на всякий.
1️⃣ Вы, наверное, видели, что вторую строку кода обычно записывают так:
⭕️ Объясняю,
‼️ — Когда мы переводим число в другую систему счисления, мы получаем остатки от деления на основание (в данном случае 4). А эти самые остатки — являются цифрами в новой системе счисления и мы их добавляем в нашу пустую строку, начиная с младшего разряда.
⭕️ Если вы вообще ничего не поняли, то смотрите:
1) Берем 100 из десятичной и переведем его в систему счисления с основанием
4, объясню кратко и вы поймете:
100 // 4 = 25 — целая часть
100 % 4 = 0 — остаток
Записываем остатки 'с конца' (младшего разряда), поэтому
0 записываем в конец, условно
Продолжение →
0️⃣ Первое, записываем наше выражение, все как есть. Переменная, пусть будет — result:
result = 16**18 - 4**10 - 4**5 - 16
▫️ a ** b — это возведение в степень, так, на всякий.
1️⃣ Вы, наверное, видели, что вторую строку кода обычно записывают так:
s = ''
⭕️ Объясняю,
s = '' — это пустая строка, а нам было сказано, что выражение записали в системе счисления с основанием 4. Что это значит⁉️‼️ — Когда мы переводим число в другую систему счисления, мы получаем остатки от деления на основание (в данном случае 4). А эти самые остатки — являются цифрами в новой системе счисления и мы их добавляем в нашу пустую строку, начиная с младшего разряда.
⭕️ Если вы вообще ничего не поняли, то смотрите:
1) Берем 100 из десятичной и переведем его в систему счисления с основанием
4, объясню кратко и вы поймете:
100 // 4 = 25 — целая часть
100 % 4 = 0 — остаток
Записываем остатки 'с конца' (младшего разряда), поэтому
0 записываем в конец, условно
Продолжение →
👍3
2) 25 // 4 — целая часть
25 % 4 = 1 — остаток
1 — будет перед 0 в конце, надеюсь понимаете...
3) 6 // 4 = 1 — целая часть
6 % 4 = 2 — остаток (перед единицей)
⭕️ И последний этап:
4) 1 // 4 = 0 — целая часть
1 % 4 = 1 — остаток (перед двойкой)
‼️ Я говорил, что записываем с конца → таким образом, число 100 в системе счисления с основанием 4 записывается как 1210
2️⃣Нам нужен цикл для перебора, поэтому: 🟰
3️⃣ 🟰
🔗 Выражение выше — это деление по модулю или нахождения остатка от деления () Зачем это нужно я уже объяснил, чекайте выше ↑
🔗 s += str — это тоже самое, что и s = s + str, просто короче.
4️⃣⭕️ 🟰
Продолжу чуть позже гайс...
25 % 4 = 1 — остаток
1 — будет перед 0 в конце, надеюсь понимаете...
3) 6 // 4 = 1 — целая часть
6 % 4 = 2 — остаток (перед единицей)
⭕️ И последний этап:
4) 1 // 4 = 0 — целая часть
1 % 4 = 1 — остаток (перед двойкой)
‼️ Я говорил, что записываем с конца → таким образом, число 100 в системе счисления с основанием 4 записывается как 1210
2️⃣Нам нужен цикл для перебора, поэтому: 🟰
while result != 0:🟰 — обычный цикл while (пока result не равен нулю)3️⃣ 🟰
s += str(result % 4)🟰 — то, о чем мы с вами и говорили: пока наше выражение с первой строчки кода не будет равно 0 — переменная s будет добавлять остатки деления на 4... (result % 4)
🔗 Выражение выше — это деление по модулю или нахождения остатка от деления () Зачем это нужно я уже объяснил, чекайте выше ↑
🔗 s += str — это тоже самое, что и s = s + str, просто короче.
4️⃣⭕️ 🟰
result //= 4🟰 — это тоже самое, что и 🟰result = result // 4 🟰 То есть, наше выражение (result) делится нацело на 4. Зачем? А затем, что после деления нацело, наше выражение 'уменьшается в 4', по сути, таким образом, обновляем наше выражение. Продолжу чуть позже гайс...
👍3
Если у вас есть друзья или знакомые, которые собираются сдавать ЕГЭ по информатике 2025 — рекомендуйте https://t.me/pywithCodeLab 🧑💻 ( разборы задача с ЕГЭ, курсов, разборы кода на Python, Алгоритмы и Машинное обучение, и что самое главное — все бесплатно)
🤯3
5️⃣ Помните, что записываем мы остатки от деления записываем с конца, следовательно, строку, которая у нас там получилась, нужно развернуть:
🧑💻 Теперь, порядок цифр будет правильный. Остался последний этап!
Нас сказали тройки подсчитать, делается это очень просто, достаточно вывести функцию 🟰print()🟰 со встроенной функцией 🟰count()🟰
🔗 Сам код, хотя ничего нового вы тут не увидите:
s = s[::-1]
🧑💻 Теперь, порядок цифр будет правильный. Остался последний этап!
Нас сказали тройки подсчитать, делается это очень просто, достаточно вывести функцию 🟰print()🟰 со встроенной функцией 🟰count()🟰
print(s.count("3"))🔗 Сам код, хотя ничего нового вы тут не увидите:
result = 16 ** 18 * 4 ** 10 - 4 ** 6 - 16
s = ''
while result != 0:
s += str(result % 4)
result //= 4
s = s[::-1]
print(s.count("3"))
🤯3