Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K 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
👩‍💻 Обработка исключений #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
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 13302 #kege по информатике #ЕГЭ23
Автор: М. Попков
Уровень: Сложный


🚩 Условие задачи:
У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1
2. Приписать справа двоичную запись остатка от деления на 5

Сколько существует программ, которые преобразуют исходное число 1_2 в число 101000101_2 ?


👩‍💻 Код решения:
def F(a, b):
if a >= b:
return a == b
return F(a+1, b) + F(int(f'{a:b}' + f'{(a % 5):b}', 2), b)

print(F(1, int('101000101', 2)))

# Ответ: 53669


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

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


2⃣. if a >= b:
Проверяется условие: если a больше или равно b, то возвращается результат сравнения a == b.


3⃣ return F(a+1, b) + F(int(f'{a:b}' + f'{(a % 5):b}', 2), b)
Если a < b, функция вызывает себя рекурсивно два раза: с увеличенным на 1 значением a и с результатом вычисления значения, составленного из двоичного представления a и двоичного представления остатка от деления a на 5, преобразованных в число и переданных повторно в виде двоичной строки b.


4⃣ print(F(1, int('101000101', 2)))
Вызывается функция F с параметрами 1 и целым числом, полученным из двоичной строки '101000101'. Результат выводится на экран.


Поставь лайк, если разбор оказался полезным 🥰❤️‍🔥😘👾

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

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

Кортежи - это упорядоченные неизменяемые коллекции элементов. В отличие от списков, кортежи создаются с помощью круглых скобок, а не квадратных. Они могут содержать элементы различных типов данных и обычно используются для группировки данных, которые не должны изменяться.

Для создания кортежа в Python используются круглые скобки, например: my_tuple = (1, 'hello', True). Кортежи позволяют обращаться к элементам по индексу, подобно спискам, но они не поддерживают операции изменения элементов после создания.

Также существует операция распаковки кортежей, которая позволяет присваивать значения элементам кортежа напрямую в переменные: a, b, c = my_tuple.

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

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
665
Дорогие друзья, я начал заниматься созданием коротких видео и мне нужна ваша помощь. Хочу задать вам интересующие меня вопросы. Не против ответить на несколько из них?
Anonymous Poll
96%
✔️ Буду рад помочь!
4%
Сегодня мне некогда..
755