Информатика | Илья Андрианов | itpy 🧑‍💻
1.06K 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
Media is too big
VIEW IN TELEGRAM
🚩 Реферальные ссылки для канала/группы #useful #view

Мы с Lizzerd решили сделать эту рубрику постоянной и заливать такие коротенькие видосы для вас каждое воскресенье!

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
433
У меня возник интересный вопрос: каким образом вы предпочитаете работать на занятиях (формат не имеет значения) – с включенной веб-камерой или без нее? 🤔
Anonymous Poll
29%
👍 С включенной
71%
👎 Без камеры
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ24
Автор: Статград
Уровень:
Средний

🚩 Условие задачи:
Определите максимальную длину непрерывного фрагмента, который начинается и заканчивается одной и той же буквой из первой половины алфавита (от A до M) и не содержит эту букву внутри.


👩‍💻 Код решения:
s = open('24.txt').readline()
maxi = 0
for a in 'ABCDEFGHIJKLM':
s = s.replace(a, f'{a} {a}')
maxi = max(maxi, max([len(x) for x in s.split()]))
s = s.replace(f'{a} {a}', a)

print(maxi)

# Ответ: 322


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

1⃣ s = open('24.txt').readline()
Чтение строки из файла '24.txt' и присвоение её содержимого переменной s.


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


3⃣ for a in 'ABCDEFGHIJKLM':
Начало цикла по буквам из строки 'ABCDEFGHIJKLM'.


4⃣ s = s.replace(a, f'{a} {a}')
Замена каждого вхождения буквы a в строке s на a a.


5⃣ maxi = max(maxi, max([len(x) for x in s.split()]))
Обновление переменной maxi, выбирая максимальное значение между текущим значением maxi и максимальной длиной слова из разделенной строки s.


6⃣ s = s.replace(f'{a} {a}', a)
Восстановление оригинальной строки, заменяя a a на a.


7⃣ print(maxi)
Вывод значения maxi, которое содержит максимальную длину слова после обработки всеми буквами из цикла.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
853
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Обработка исключений #tpy

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

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

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


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
653
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ25
Автор: Статград
Уровень:
Базовый

🚩 Условие задачи:
Найдите все натуральные числа, не превышающие 10**9, которые
соответствуют маске 4*64*9?7 и при этом без остатка делятся на 9117.
В ответе запишите все найденные числа в порядке возрастания.


👩‍💻 Код решения:
from fnmatch import *
for x in range(9117, 10**9, 9117):
if fnmatch(str(x), '4*64*9?7'):
print(x)

# Ответ:
# 464967
# 41764977
# 406444977
# 436439907
# 464337927
# 464884947


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

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


2⃣ for x in range(9117, 10**9, 9117):
Цикл for для переменной x в диапазоне от 9117 до 10^9 с шагом 9117.


3⃣ if fnmatch(str(x), '4*64*9?7'):
Проверка условия: если строковое представление числа x соответствует шаблону '4*64*9?7' с помощью функции fnmatch.


4⃣ print(x)
Вывод числа x, которое удовлетворяет условию проверки шаблона.


Таким образом, приведенный код ищет числа в заданном диапазоне, которые соответствуют шаблону '4*64*9?7', где символ * означает любую последовательность символов, а символ ? означает любой одиночный символ.

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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
7543
📱 Хотел бы подготовить шпаргалку по 🚩🚩 номерам, после того как сделаю несколько разборов.

Поделитесь ссылкой/номером на задачки, которые могут подойти под формат канала, а я постараюсь сообразить на них разборы 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
167621
Видимо шпаргалка по 23 номерам никому не нужна.. попробуем по-другому 😶
Please open Telegram to view this post
VIEW IN TELEGRAM
12882
Какую задачку разобрать следующую?
Anonymous Poll
60%
15
33%
16
46%
23
🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤 🔤🔤🔤🔤🔤🔤

Сюда можно отправлять задачки для разбора. Если задача типовая, то ответ вы получите прямо в этом чате. Пожалуйста, прикрепляйте к задаче ссылку или её номер 🤗

Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 11953 #kege по информатике #ЕГЭ23
Автор: PRO100 ЕГЭ
Уровень:
Средний

🚩 Условие задачи:
У исполнителя есть три команды:
A. Прибавить последнюю цифру
B. Добавить остаток от деления на 68
C. Возвести в квадрат

Если после выполнения команды получается такое же число, то команду нельзя применять к этому числу.

Сколько существует программ, для которых при исходном числе 2 результатом является число 680, при этом траектория вычислений содержит число 68 и не содержит числа 100?


👩‍💻 Код решения:
from functools import *
@lru_cache(None)
def F(a, b):
if a >= b or a == 100:
return a == b
R = []
if a % 10 != 0:
R.append(F(a + a % 10, b))
if a % 68 != 0:
R.append(F(a + a % 68, b))
R.append(F(a ** 2, b))
return sum(R)

print(F(2, 68) * F(68, 680))

# Ответ: 47997789947424


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

1⃣ from functools import *
Импортируются все функции из модуля functools.


2⃣ @lru_cache(None)
Декоратор @lru_cache(None) используется для кеширования результатов вызовов функции F, чтобы избежать повторных вычислений для одних и тех же аргументов.


3⃣ def F(a, b):
Объявляется функция F с параметрами a и b.


4⃣ if a >= b or a == 100:
Проверяется условие: если a больше или равно b, или a равно 100, то функция возвращает True.


5⃣ R = []
Создается пустой список R, в который будут добавляться результаты вычислений.


6⃣ if a % 10 != 0:
Если остаток от деления a на 10 не равен 0.


7⃣ R.append(F(a + a % 10, b))
Добавляется результат вызова F с аргументом a + a % 10 и b.


8⃣ if a % 68 != 0:
Если остаток от деления a на 68 не равен 0.


0⃣ R.append(F(a + a % 68, b))
Добавляется результат вызова F с аргументом a + a % 68 и b.


1⃣0⃣ R.append(F(a ** 2, b))
Добавляется результат вызова F с аргументом a в квадрате и b.


1⃣1⃣ return sum(R)
Функция возвращает сумму всех элементов в списке.


1⃣2⃣. print(F(2, 68) * F(68, 680))
Выводится произведение результатов вызовов F с аргументами (2, 68) и (68, 680).


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1175
Важный момент для решения 🚩 номера #useful

Доход: Типа операции "Продажа"
Прибыль: "Продажа" - "Поступление"

Интересен ли вам такой формат подачи материла?
❤️‍🔥 – Да, давайте делать еще
👾 – Нет, не информативно

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
22642
Информатика | Илья Андрианов | itpy 🧑‍💻
🔤🔤🔤🔤🔤🔤🔤🔤 🔤🔤🔤🔤🔤 📚 Преимущество нашего сборника в том, что здесь предусмотрен встроенный форум с решениями, где каждый желающий может оставить свой вариант для той или иной задачи. Таким образом можно найти подсказку, исправить опечатку в своем коде, или…
This media is not supported in your browser
VIEW IN TELEGRAM
Подборка задач для подготовки к ЕГЭ по информатике 2024 | itpy #useful

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

Таким образом можно найти подсказку, исправить опечатку в своем коде, или найти вдохновение в чужом решении, чтобы написать более оптимальный код 💻

Я настоятельно призываю вас делиться своими вариантами решений, даже если в задаче просто просят "оставить ответ" 🫡

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1054
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 6635 #kege по информатике #ЕГЭ23
Автор: Пробник ИМЦ СПб 2023
Уровень: Средний


🚩 Условие задачи:
У Троечки есть две команды:
1. Вычесть 3
2. Умножить на -3

Сколько различных отрицательных результатов можно получить из исходного числа 333 в ходе исполнения программы, содержащей ровно 13 команд?


🚩 Теоретическая справка:
Для решения этого номера необходимо создать глобальный список или множество, чтобы собрать все подходящие числа.


👩‍💻 Код решения:
my_set = set()

def F(a, k):
if k == 13:
my_set.add(a)
return 0
return F(a - 3, k+1) + F(a * -3, k+1)

F(333, 0)

print(len([x for x in my_set if x < 0]))

# Ответ: 2224


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

1⃣ my_set = set()
Создается пустое множество my_set, которое будет использоваться для хранения уникальных значений.


2⃣ def F(a, k):
Объявляется функция F с двумя параметрами a и k.


3⃣ if k == 13:
Проверяется условие: если k равно 13, то текущее значение a добавляется в множество my_set, и функция возвращает 0.


4⃣ return F(a - 3, k+1) + F(a * -3, k+1)
Функция вызывает себя рекурсивно дважды, уменьшая a на 3 и умножая его на -3, а также увеличивая k на 1. Результаты обоих вызовов складываются и возвращаются.


5⃣ F(333, 0)
Вызывается функция F с аргументами 333 и 0, запуская процесс рекурсивного вычисления.


6⃣ print(len([x for x in my_set if x < 0]))
Выводится длина списка, содержащего элементы из my_set, которые меньше 0.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
543
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Множества set() в Python #tpy

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

Для создания множеств в Python используется функция set(). При этом все повторяющиеся элементы автоматически удаляются, оставляя только уникальные.

Также существует функция frozenset(), которая создает неизменяемое множество. Это значит, что после создания такого множества нельзя изменить его содержимое.

Множества поддерживают различные операции, позволяющие выполнять действия над множествами, такие как объединение, пересечение, разность и т. д.

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
853