Информатика | Илья Андрианов | itpy 🧑‍💻
1.07K subscribers
264 photos
20 videos
19 files
630 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Итерация по списку в Python с помощью метода Enumerate #tpy

Если у вас нет полного понимания того, как работает функция enumerate в Python, то давайте разберемся вместе. Метод enumerate() добавляет счетчик к элементам итерируемого объекта и возвращает объект типа enumerate. Этот объект содержит пары значений: индекс элемента и сам элемент из исходного списка.

Одним из главных преимуществ использования метода enumerate является возможность преобразования объектов типа enumerate в список или кортеж с помощью методов list() и tuple() соответственно. Это облегчает работу с индексами элементов списка и упрощает процесс перебора элементов в цикле.

Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥73🔥2
📣 Вебинар по экономическим задачам
С нуля для любого уровня подготовки

1⃣ Когда?
- 06.01 с 12:00 до 13:45
- 08.01 с 12:00 до 13:45
- 09.01 с 17:00 до 18:30


2⃣ Что будет на вебинаре?
- Разберемся с НУЛЯ в задачах на аннуитетные платежи (срок, сумма кредита, сумма выплат, процент)
- Разберемся с НУЛЯ в задачах на дифференцированные платежи (срок, сумма кредита, сумма выплат, процент)
- Проанализируем задачи прошлых лет
- Научимся правильно оформлять свои решения для получения 2/2
- Получите домашнее задание по прототипам

3⃣ Сколько стоит?
Стоимость участия за 5 часов: 1800 ₽


❗️По промокоду: "itpy", получите скидку 10%

Приходите, будет интересно и полезно!
МАТЬ МАТЕМАТИКИ | РЕПЕТИТОР ЕГЭ 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🫡4❤‍🔥3👍32
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор этого номера #yandex по информатике #ЕГЭ8
Автор: Яндекс Учебник
Уровень: Средний


🚩 Условие задачи:
Определите количество пятизначных чисел в 14-ричной системе счисления, в записи которых цифры из набора ABCD не стоят рядом с нечётными цифрами из набора: 13579.


🚩 Теоретическая справка:
Обратите внимание! Что условия, которые требуют замены элементов строки через num = num.replace(x, 'A') необходимо ставить в самом конце программы! Чтобы не повредить все предыдущие условия задач подобного типа.


👩‍💻 Код решения:
from itertools import *
cnt = 0
for p in product('0123456789ABCD', repeat=5):
num = ''.join(p)
if num[0] != '0':
for x in 'ABCD':
num = num.replace(x, 'A')
for x in '13579':
num = num.replace(x, '1')
if '1A' not in num and 'A1' not in num:
cnt += 1
print(cnt)

# Ответ: 217888


👩‍💻 Комментарии к коду:

1⃣ from itertools import *
Импортируем все функции из модуля itertools, который предоставляет различные функции для работы с итераторами.


2⃣ cnt = 0
Инициализируем переменную cnt для подсчета количества допустимых комбинаций.


3⃣ for p in product('0123456789ABCD', repeat=5):
Используем функцию product для генерации всех возможных комбинаций длиной 5 из символов '0123456789ABCD'.


4⃣ num = ''.join(p)
Объединяем текущую комбинацию p в строку num.


5⃣ if num[0] != '0':
Проверяем, чтобы первая цифра num не была '0', чтобы избежать некорректных чисел.


6⃣ for x in 'ABCD':
Запускаем цикл, чтобы заменить все символы 'A', 'B', 'C' и 'D' на 'A'.


7⃣ num = num.replace(x, 'A')
Заменяем текущий символ x на 'A' в строке num.


8⃣ for x in '13579':
Запускаем цикл, чтобы заменить все нечетные цифры '1', '3', '5', '7' и '9' на '1'.


0⃣ num = num.replace(x, '1')
Заменяем текущий символ x на '1' в строке num.


🔟 if '1A' not in num and 'A1' not in num:
Проверяем, чтобы строка num не содержала подстроки '1A' или 'A1'.


1⃣1⃣ cnt += 1
Если предыдущая проверка прошла успешно, увеличиваем счетчик cnt на 1.


1⃣2⃣ print(cnt)
Выводим значение cnt, что соответствует количеству допустимых комбинаций.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍3🔥3
Стартуем через час пробный вебинар по "Теории игр через Excel", кто будет присутствовать?
Anonymous Poll
26%
Да, я буду!
43%
Нет, посмотрю в записи, если будет
13%
Пропускаю сегодня
19%
Уже умею решать ТИ
Media is too big
VIEW IN TELEGRAM
📺 Запись вчерашнего вебинара по Теории игр, решение через excel #view

Качество записи конечно оставляет желать лучшего, поэтому на YouTube выкладывать не планирую.. но все равно интересно какие впечатления оставил вам веб! Пройдите короткий опрос под этим постом 👇

Тут будут полезные таймкоды:

07:36 - Разбираем общее условие для 19-21 номера, на что стоит обратить внимание


№ 18370 (Уровень: Базовый)
на одну кучу (положительный ход, решение Excel)

13:15 – Разбираем 19 номер

28:15 – Разбираем 20 номер

37:21 – Разбираем 21 номер


№ 17875 Демоверсия 2025 (Уровень: Базовый)
на одну кучу (отрицательный ход, решение LibreOffice)

50:20 – Разбираем 19 номер

58:46 – Разбираем 20 номер

1:04:40 – Разбираем 21 номер


№ 18199 (Уровень: Базовый)
на две кучи (положительный ход, решение Excel)

1:11:15 – Разбираем 19 номер

1:25:10 – Разбираем 20 номер

1:33:11 – Разбираем 21 номер

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9👍5🔥2
Если такие записи/вебы будут для вас полезными, поставьте реакцию 🙏

Буду думать как улучшить качество трансляции и сделать их более полезными.
Anonymous Poll
95%
✔️
2%
3%
Свои замечания/пожелания можно опубликовать в комментариях!
8
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Обработка исключений через try/except #tpy

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

Одним из способов обработки исключений в Python является конструкция try-except. Она позволяет выполнить определенный код в блоке try, и если во время его выполнения возникает ошибка, перехватить и обработать эту ошибку в блоке except.

Пример использования:
try:
# уязвимая функция
except Exception as e:
print(f"Произошла ошибка: {e}")
# код обработки ошибки


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥22
С Новым годом, друзья! 🎄
Пусть 2025 год дарит вам вдохновение, исполнение желаний и незабываемые впечатления!🎅

Картинку сгенерировал через MidJourney 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
146🔥5👍4
🚩🚩 Разбор этого номера #yandex по информатике #ЕГЭ17
Автор: Яндекс Учебник
Уровень: Средний

🚩 Условие задачи:
Определите количество пар элементов последовательности, сумма которых превосходит каждую из сумм соседних пар, при этом все три суммы являются положительными.

В ответе запишите количество найденных пар чисел, затем минимальное из произведений элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Под соседними парами подразумеваются четыре идущих подряд элемента последовательности.


🚩 Теоретическая справка:
Интересный пример, так как нам приходится рассматривать не только пару/тройку символов, как в основных задачах, но сразу 6-ку символов!


👩‍💻 Код решения:
M = [int(s) for s in open('files/17.txt')]
R = []
for i in range(len(M)-5):
x, y, z, w, r, t = M[i:i+6]
if (z + w) > (x + y) and (z + w) > (r + t):
if z + w > 0 and x + y > 0 and r + t > 0:
R.append(z * w)
print(len(R), min(R))

# Ответ: 610 -123157359


👩‍💻 Комментарии к коду:

1⃣ M = [int(s) for s in open('files/17.txt')]
- Открывает файл 'files/17.txt', читает его и преобразует каждую строку в целое число, создавая список M.


2⃣ R = []
- Создает пустой список R для хранения результатов, которые удовлетворяют условиям.


3⃣ for i in range(len(M)-5):
- Запускает цикл по элементам списка M, при этом гарантируется, что для каждой итерации хватит шести элементов.


4⃣ x, y, z, w, r, t = M[i:i+6]
- Извлекает шесть подряд идущих элементов из списка M, начиная с позиции i, и присваивает их переменным x, y, z, w, r и t.


5⃣ if (z + w) > (x + y) and (z + w) > (r + t):
- Проверяет, что сумма z и w больше суммы x и y, а также больше суммы r и t.


6⃣ if z + w > 0 and x + y > 0 and r + t > 0:
- Дополнительно проверяет, что каждая из сумм z + w, x + y и r + t больше нуля.


7⃣ R.append(z * w)
- Если условия выполнены, добавляет произведение z и w в список R.


8⃣ print(len(R), min(R))
- Выводит количество элементов в списке R и минимальное значение из этого списка.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍5🔥3
Стало интересно узнать, какие прототипы 17-го номера вызывают у вас наибольшие сложности 🤔
Anonymous Poll
30%
1⃣ Два подряд идущих элемента
49%
2⃣ Три подряд идущих элемента
82%
3⃣ Два различных элемента
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ17
Автор: Статград
Уровень:
Сложный

🚩 Условие задачи:
Назовём четвёркой четыре идущих подряд элемента
последовательности. Определите количество четвёрок, для которых
выполняются следующие условия:
– в четвёрке есть хотя бы два пятизначных числа и хотя бы одно не пятизначное;
– в четвёрке больше чисел, кратных 3, чем чисел, кратных 7;
– сумма элементов четвёрки больше максимального элемента
последовательности, запись которого заканчивается на 538, но меньше
удвоенного значения этого элемента.


👩‍💻 Код решения:
numbers = [int(x) for x in open('17.txt')]
filtered = [x for x in numbers if str(x)[-3:] == '538']
result = []

for i in range(len(numbers) - 3):
# x, y, z, w = numbers[i:i + 4]
length = [len(str(abs(a))) for a in numbers[i:i + 4]]

if 2 <= length.count(5) < 4:
multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]

if len(multiples_of_3) > len(multiples_of_7):
if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
result.append(sum(numbers[i:i + 4]))

print(len(result), max(result))

# Ответ: 260 106865


👩‍💻 Комментарии к коду:

1⃣ numbers = [int(x) for x in open('17.txt')]
Чтение чисел из файла "17.txt" и преобразование их в целочисленный формат, помещение результатов в список numbers.


2⃣ filtered = [x for x in numbers if str(x)[-3:] == '538']
Создание нового списка под названием filtered, который содержит только элементы из numbers, у которых последние три цифры равны '538'.


3⃣ result = []
Инициализация пустого списка с именем result, в который будут помещаться результаты для последующего анализа.


4⃣ for i in range(len(numbers) - 3):
Запуск цикла for, который перебирает индексы элементов numbers за исключением последних трех элементов.


5⃣ # x, y, z, w = numbers[i:i + 4]
Комментарий указывает на предполагаемое использование переменных x, y, z, w для значений из подсписка numbers[i:i + 4], но непосредственно переменные не используются в данном участке кода.


6⃣ length = [len(str(abs(a))) for a in numbers[i:i + 4]]
Создание списка length, содержащего длины строковых представлений абсолютных значений элементов из подсписка numbers[i:i + 4].


7⃣ if 2 <= length.count(5) < 4:
Проверка условия: количество цифр "5" в длинах строковых представлений элементов равно или больше 2 и меньше 4.


8⃣ multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
Формирование списка multiples_of_3, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 3 без остатка.


0⃣ multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]
Формирование списка multiples_of_7, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 7 без остатка.


1⃣0⃣ if len(multiples_of_3) > len(multiples_of_7):
Проверка условия: количество элементов, делящихся на 3 без остатка, больше количества элементов, делящихся на 7 без остатка.


1⃣1⃣ if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
Проверка условия: сумма элементов подсписка numbers[i:i + 4] находится в интервале между максимальным элементом списка filtered и удвоенным значением максимального элемента из filtered.


1⃣2⃣ result.append(sum(numbers[i:i + 4]))
Добавление суммы элементов подсписка numbers[i:i + 4] в список result.


1⃣3⃣ print(len(result), max(result))
Вывод количества элементов в списке result и максимального значения в этом списке.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥74❤‍🔥3
🚩🚩 Разбор номера 18257 #kege по информатике #ЕГЭ17
Автор: (Л. Шастин)
Уровень:
Средний

🚩 Условие задачи:
Определите количество пар элементов последовательности, сумма номеров которых оканчивается на ту же цифру, что и максимальный элемент последовательности.

В ответе запишите количество найденных пар, затем минимальное значение среди модулей разностей суммы элементов и суммы номеров таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности.


🚩 Теоретическая справка:
Мне эта задача очень понравилась, так как присутствует условие про номера элементов последовательности. Реализовать это не сложно, как оказалось, зато какая красота получилась! Обратите внимание, что происходит смещение по индексу на +1 элемент*


👩‍💻 Код решения:
R = []
M = [int(x) for x in open('17.txt')]
for i in range(len(M)-1):
x, y = M[i], M[i+1]
i, j = i+1, i+2
if (i + j) % 10 == max(M) % 10:
R.append(abs((x+y) - (i+j)))
print(len(R), min(R))

# Ответ: 1000 811


👩‍💻 Комментарии к коду:

1⃣ R = []
Инициализация пустого списка R, который будет хранить результаты.


2⃣ M = int(x) for x in open('0. files/17.txt')
Открытие файла '0. files/17.txt', чтение каждой строки, преобразование их в целые числа и сбор этих чисел в список M.


3⃣ for i in range(len(M)-1):
Начало цикла по всем элементам списка M, кроме последнего, с индексами от 0 до (длина M - 2).


4⃣ x, y = Mi, Mi+1
Присваивание текущего элемента M и следующего элемента M соседним переменным x и y соответственно.


5⃣ i, j = i+1, i+2
Расчет значений индексов i и j для проверки условия следующей строки.


6⃣ if (i + j) % 10 == max(M) % 10:
Условие: если сумма индексов i и j даёт остаток от деления на 10, равный остатку от деления максимального элемента M на 10, выполнить следующий блок.


7⃣ R.append(abs((x+y) - (i+j)))
Если условие выполнено, вычислить разность между суммой элементов x и y и суммой индексов i и j, взять модуль этой разности и добавить в список R.


8⃣ print(len(R), min(R))
Вывод на экран количества элементов в списке R и минимального значения в этом списке R.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач😼
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍7🔥6
Хочешь сдать ЕГЭ по математике на 80+?

🗣️Хочу лично порекомендовать Вам репетитора, который точно знает, как сдать ЕГЭ на 80+, даже если вы только решили начать подготовку.

👩‍💻Дарья – преподает математику более 5 лет, а сама заканчивает в этом году Бауманку, поэтому точно знает все о поступлении на технические и экономические специальности, а ее ученики учатся в топовых вузах России: МИФИ, МГУ, ВШЭ💋

📚Подробную информацию о занятиях по подготовке к экзаменах можно узнать в ее канале, а также всем новым подписчикам Дарья отправляет полезные материалы для подготовки к экзаменам. Нужно только подписаться на канал и написать сообщение в личку💋

Не откладывай подготовку занимайся с лучшими преподавателями уже сейчас и совершенствуйся с каждым днём!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍43