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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
👩‍💻 Повторяем срезы в Python #tpy

Срезы (slices) - это мощный инструмент в Python, позволяющий взять часть списка или строки, указав, что именно тебе нужно.

Общий вид срезов в Python:
A[начало:конец:шаг]


🚩 начало — индекс, С КОТОРОГО начинаем (включается).
🚩 конец — индекс, ДО КОТОРОГО берём (не включается).
🚩 шаг — через сколько берём элементы (по умолчанию 1).

🚩Пример со строкой:
s = "информатика"

print(s[0:5]) # 'инфор' (с 0 по 4 индекс)
print(s[::-1]) # 'акитамрофни' (разворот строки)
print(s[2:7]) # 'форма' (с 2 по 6 индекс)
print(s[:4]) # 'инфо' (с начала до 3 индекса)
print(s[-4:]) # 'тика' (последние 4 буквы)
print(s[::2]) # 'ифрмата' (каждая вторая буква)


🚩Пример со списком:
nums = [4, 8, 15, 16, 23, 42]

print(nums[1:4]) # [8, 15, 16] (с 1 по 3 индекс)
print(nums[-3:]) # [16, 23, 42] (последние 3 элемента)
print(nums[:3]) # [4, 8, 15] (первые 3 элемента)
print(nums[::-1]) # [42, 23, 16, 15, 8, 4] (разворот списка)
print(nums[::2]) # [4, 15, 23] (каждый второй элемент)


🚩Как запомнить?
🟠 ЛЕВАЯ граница включается, ПРАВАЯ не включается.
🟠 Откуда : докуда : шаг.
🟠 шаг = -1 — идёшь в обратную сторону.
🟠Работает с списками, строками, кортежами

📙Где встречаются срезы на ЕГЭ/ОГЭ по информатике:
🚩 Номер 5 — работа с массивами (списки, строки).
🚩 Номер 8 — работа с текстовыми данными.
🚩 Номер 9 — анализ и обработка данных, перебор подстрок.
а также 13, 14, 17 и других номерах

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥5🔥42
Немного статистики с пресс-конференции по итогам ЕГЭ 2025

Средние баллы ЕГЭ 2025
:
🔣Математика профиль: 62
🔣Русский язык: 60.7
🔣Физика: 61.7
🔣Информатика: 55,9

Средние баллы ЕГЭ 2024:
🔣Математика профиль: 62,55
🔣Русский язык: 63,88
🔣Физика: 63,21
🔣Информатика: 54,49

Экзамен в этом году был проще, чем в прошлом, но средний балл изменился незначительно.
Я думаю, это произошло потому, что к многим заданиям «ожидали» более сложных прототипов и просто не готовили более простые.
Как бы то ни было, такой результат, скорее всего, приведёт к тому, что в следующем году экзамен будет примерно таким же лёгким.

Можно смело сдавать ЕГЭ по инфе в 2026 году 😆

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🤔321
Неожиданное наблюдение: На пересдачу по информатике зарегистрировалось больше людей, чем на математику и русский язык 🤔

Как можно объяснить это явление, учитывая, что информатику выбирают реже, да и экзамен в этом году не был чрезмерно сложным..

Источник Рособрнадзор:
Пресс-конференция: «Итоги основного периода ЕГЭ-2025»

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯743
🚩 Сегодня запоминаем единицы измерения объемов информации #useful
🟡 1 бит
🟡 1 байт = 8 бит
🟡 1 Кбайт = 2¹⁰ байт = 1024 байт
🟡 1 Мбайт = 2¹⁰ Кбайт = 1024 Кбайт
🟡 1 Гбайт = 2¹⁰ Мбайт = 1024 Мбайт
🟡 1 Тбайт = 2¹⁰ Гбайт = 1024 Гбайт
🟡 1 Пбайт = 2¹⁰ Тбайт = 1024 Тбайт


Смотрите и запоминайте, если в будущем не хотите получать глупых ошибок в 7 и 11 номерах.

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍72
🚩 Почему нельзя напрямую сравнивать два float в Python? #tpy

Ответ: Сравнение через == может вернуть False, даже если числа выглядят равными. Вместо этого нужно использовать math.isclose(a, b), которая сравнивает два числа с учётом допустимого отклонения (rel_tol и abs_tol) и гарантирует корректное сравнение.


Почему так происходит:

🔣Двоичное представление.
Число 0.1 в двоичном виде - бесконечная дробь. В памяти оно хранится как ближайшее представимое значение, а не как точная десятичная дробь.


🔣Накопление ошибок.
При выполнении операций (+, -, *, /) эти малые погрешности складываются.


🔣Прямое сравнение.
Оператор == проверяет полное совпадение битов результата, поэтому даже «крошечная» разница даст False.



👩‍💻 Пример кода:
import math

# Два выражения, которые математически равны
a = 0.1 + 0.2
b = 0.3

# Прямое сравнение
print("a =", a) # a = 0.30000000000000004
print("b =", b) # b = 0.3
print("a == b ->", a == b) # False!

# Сравнение с учётом допуска погрешности
# По умолчанию rel_tol=1e-09, abs_tol=0.0
print("math.isclose(a, b) ->", math.isclose(a, b)) # True


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥3😁1
👩‍💻 Использования f-строк в python #tpy

Если раньше для подстановки переменных в строку мы писали:
"Привет, {}!".format(name)

то теперь с f-строками можно проще:
name = "Андрей"
print(f"Привет, {name}!") # Привет, Андрей!



🚩 Почему f-строки удобны:
🕓 Код становится короче.
🕓 Сразу видно, какие переменные подставляются.
🕓 Можно вставлять даже выражения:
a = 5
b = 3
print(f"{a} + {b} = {a + b}") # 5 + 3 = 8


👩‍💻 Пример:
user = "Андрей"
action = "покупка"

log = f"Пользователь {user} зашел на сайт и выполнил действие: {action}"
print(log) # Пользователь Андрей зашел на сайт и выполнил действие: покупка


💡 Запомни:
Чтобы использовать f-строку, ставь f перед кавычками и указывай переменные в {}.

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍159
Я вот думаю.. сделать видео/стрим или серию текстовых постов про этот реально важный момент ЕГЭ
Anonymous Poll
29%
Видео
9%
Стрим
32%
Текстовый пост
30%
Посмотреть результаты
14🤔6❤‍🔥5
🚩 Друзья, давайте сделаем паузу между написанием кода и изучением Python! Мы с коллегами подготовили папку с каналами по различным школьным образовательным направлениям. Загляните и найдите что-то интересное для себя!

📁 Папка с полезными телеграм-каналами:

Если хотите добавить свой канал в папку, пишите: @kubik2566
Please open Telegram to view this post
VIEW IN TELEGRAM
12❤‍🔥4👍2🤯1🫡1
🚩 Разбор этого номера #yandex по информатике #ЕГЭ8
Автор: Джобс Е.
Уровень:
Простой

🚩 Условие задачи:
Сколько существует 4-разрядных четверичных чисел, в которых хотя бы одна цифра встречается не менее двух раз?


👩‍💻 Код решения:
from itertools import *
cnt = 0
for p in product('0123', repeat=4):
num = ''.join(p)
if num[0] != '0':
if any(num.count(x) >= 2 for x in num):
cnt += 1
print(cnt)

Ответ: 174

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

1⃣ from itertools import *
- Импорт всех функций из модуля itertools (используется функция product)


2⃣ cnt = 0
- Инициализация счетчика для подсчета подходящих комбинаций


3⃣ for p in product('0123', repeat=4):
- Цикл по всем возможным 4-значным комбинациям из цифр 0,1,2,3 (с повторами)
- Например: ('0','0','0','0'), ('0','0','0','1'), ..., ('3','3','3','3')


4⃣ num = ''.join(p)
- Объединение кортежа символов в строку (например, ('1','2','3','0') → '1230')


5⃣ if num[0] != '0':
- Проверка, что число не начинается с 0 (исключаем 4-значные числа с ведущим нулем)


6⃣ if any(num.count(x) >= 2 for x in num):
- Проверка, что в числе есть хотя бы одна цифра, которая повторяется 2 или более раз
- any() возвращает True, если хотя бы один элемент удовлетворяет условию


7⃣ cnt += 1
- Если оба условия выполнены (не начинается с 0 и есть повторяющиеся цифры), увеличиваем счетчик


8⃣ print(cnt)
- Вывод общего количества подходящих комбинаций


#⃣ Полный список разборов в одном месте
🔜Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥148🫡5
📱 Конструкция eval() в Python #tpy

📓 Многие сталкиваются с задачами, где нужно вычислить выражение, заданное в виде строки, например: "2+3*4" или " (10 - 3) ** 2".

🚩 В таких случаях помогает функция eval()
Она "преобразует" строку в код и выполняет его, возвращая результат.

Примеры использования:
expression = "2+3*4" 
result = eval(expression)
print(result) # Выведет 14

expression = " (10 - 3) ** 2" 
result = eval(expression)
print(result) # Выведет 49

expression = "( 2+3*4 ) * 3"  
result = eval(expression)
print(result) # Выведет 42


⚠️ Важно помнить: eval() — мощный инструмент, но его использование опасно, если строка содержит неподтвержденный или вредоносный код.

На экзамене обычно не проблема, а в реальной разработке лучше избегать eval() без необходимости.

✔️В контексте ЕГЭ eval() помогает быстро выполнять вычисления из строковых выражений, что удобно при решении задачи под номером 24.



🚀 Примечание: eval() — ваш быстрый помощник, но применять его нужно с осторожностью!


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥16🔥13👍5
🚩🚩 Разбор номера 9553 #kege по информатике #ЕГЭ25
Автор: Джобс Е.
Уровень:
Базовый

🚩 Условие задачи:
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
• символ «?» означает ровно одну нечетную цифру, кратную 3;
• символ «*» означает любую последовательность четных цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123435 и 12300495. Числа 123425 и 12355435 такой маске не соответствуют.

Найдите все числа, меньшие 109, соответствующие маске 24*68?35 и делящиеся без остатка на 13. В качестве ответа приведите все найденные числа в порядке возрастания, справа от числа укажите результат целочисленного деления его на 13.


👩‍💻 Код решения:
from re import *
for x in range(13, 10**9, 13):
if fullmatch('24[02468]*68[39]35', str(x)):
print(x, x // 13)

Ответ:
24268335 1866795
24868935 1912995
240068335 18466795
240668935 18512995
242668335 18666795
248468935 19112995


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

1⃣ from re import *
- Импорт всех функций из модуля re (регулярные выражения).


2⃣ for x in range(13, 10**9, 13):
- Цикл, перебирающий числа x от 13 до 1 миллиарда с шагом 13 (т.е. все числа, кратные 13).


3⃣ if fullmatch('24[02468]*68[39]35', str(x)):
- Проверяет, соответствует ли строкая запись числа x шаблону:
- 24 – начинается с цифр 24,
- [02468]* – затем любое количество чётных цифр (0, 2, 4, 6, 8),
- 68 – далее идёт 68,
- [39] – после 68 либо 3, либо 9,
- 35 – заканчивается на 35.


4⃣ print(x, x // 13)
- Если число соответствует шаблону, выводит само число и результат деления x на 13.


#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14👍12🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
💥Шпаргалки для отличника💥

Мы с коллегами собрали все материалы для ЕГЭ, забирайте их и сделайте вид, что готовились сами 🤫

Это подборка материалов, которая помогает системно готовиться и уверенно сдать ЕГЭ на высокий балл. Забирайте, польза разрешена.


💌ЧТО ВНУТРИ?

1. Математика
Планер по подготовке к профильному ЕГЭ по математике и бонусное видео «Ловушки в логарифмических неравенствах»

2. Обществознание
Гайд по выполнению второй части ЕГЭ по обществознанию

3. Информатика
Пять простейших заданий ЕГЭ по информатике решаемых кодом

4. Русский язык
Памятка по написанию сочинения на ЕГЭ по русскому языку

5. Физика
Гайд по оформлению заданий 2 части ЕГЭ по физике

6. Английский язык
Гайд «Словообразование на максимум» по английскому языку


📌ЖМИТЕ НА СИНИЙ ТЕКСТ И ЗАБИРАЙТЕ ПОЛЕЗНЫЕ МАТЕРИАЛЫ
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤‍🔥28🤯7🔥52
🚀 Можно ли использовать else после for или while в Python? #useful

✔️ Да, это валидная и очень полезная конструкция!
Блок else выполняется только если цикл завершился без использования break.



🔹 Почему это удобно?:
Например, при поиске элемента в списке:
- Если элемент найден — срабатывает break, и блок else пропускается.
- Если элемент не найден — цикл завершится нормально, и else выполнится, позволяя обработать ситуацию.


📱 Пример с кодом:
# Поиск элемента в списке
numbers = [1, 3, 5, 7, 9]
target = 4

for num in numbers:
if num == target:
print("Элемент найден:", target)
break
else:
print("Элемент не найден:", target)


👩‍💻 В этом примере:
- Если target есть в списке, мы его найдём и выйдем из цикла через break.
- Если target отсутствует, цикл завершится нормально, и сработает блок else, сообщая, что элемент не найден.


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥27🔥104
🚩🚩 Разбор номера 18445 #kege по информатике #ЕГЭ13
Автор: Сергей Горбачев

🚩 Условие задачи:
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 140.116.194.0 и маской сети 255.255.240.0. Сколько в этой сети IP-адресов, в двоичной записи которых каждый из четырёх байтов оканчивается нулём?
В ответе укажите только число.


👩‍💻 Код решения:
from ipaddress import *
net = ip_network('140.116.194.0/255.255.240.0', 0)
cnt = 0
for ip in net:
s = f'{ip:b}'
if s[7] == '0' and s[15] == '0' and s[23] == '0' and s[31] == '0':
cnt += 1
print(cnt)

Ответ: 1024


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

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


2⃣ net = ip_network('140.116.194.0/255.255.240.0', 0)
Создание объекта сети с адресом 140.116.194.0 и маской 255.255.240.0


3⃣ cnt = 0
Инициализация счётчика cnt для подсчёта подходящих IP-адресов


4⃣ for ip in net:
Цикл по всем IP-адресам в сети net


5⃣ s = f'{ip:b}'
Преобразование текущего IP-адреса ip в его двоичное представление в виде строки s


6⃣ if s[7] == '0' and s[15] == '0' and s[23] == '0' and s[31] == '0':
Проверка, что 8-й, 16-й, 24-й и 32-й биты (индексы 7, 15, 23, 31) в двоичной строке равны '0'


7⃣ cnt += 1
Если условие выполняется, увеличиваем счётчик cnt на 1


8⃣ print(cnt)
Вывод итогового значения счётчика cnt


#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
37❤‍🔥8🔥4
📎Объединение итерируемых объектов с помощью itertools.chain #tpy

Когда у тебя есть несколько списков, кортежей или других итерируемых объектов, и нужно пройти по ним, будто это один большой список — itertools.chain делает это просто и эффективно, без создания дополнительных промежуточных структур.

↗️ Почему это круто?
itertools.chain позволяет объединять итерируемые объекты "на лету", экономя память и ускоряя обработку больших наборов данных. Особенно полезно, когда работаешь с объемными файлами или потоками данных.


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

list1 = [1, 2, 3]
list2 = ('a', 'b', 'c')
list3 = range(10, 13)

# Объединяем без создания новых списков
for item in itertools.chain(list1, list2, list3):
print(item, end=' ')


🪄Вывод:
1 2 3 a b c 10 11 12


Теперь ты можешь обходить все эти коллекции как один поток, не тратя лишнюю память 🚀

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍11❤‍🔥2🔥2
Друзья, давайте сделаем паузу между написанием кода и изучением Python! Мы с коллегами подготовили папку с каналами по различным школьным образовательным направлениям. Загляните и найдите что-то интересное для себя!

📁 Папка с полезными телеграм-каналами:

Если хотите добавить свой канал в папку, пишите: @kubik2566
Please open Telegram to view this post
VIEW IN TELEGRAM
27🔥3❤‍🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥92🔥2🫡1
📎Что такое enumerate() в Python и почему это удобно? #tpy

🪄 Функция enumerate() в Python - позволяет одновременно проходить по итерируемому объекту и получать индекс каждого элемента - очень удобно и читаемо.

↗️ Почему это полезно?
- Не нужно самостоятельно создавать счетчик
- Упрощает код при необходимости знать позицию элемента
- Особенно полезна при обработке списков, кортежей, строк и других итерируемых структур

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

fruits = ['яблоко', 'банан', 'киви']

for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")


Вывод:
0: яблоко
1: банан
2: киви


Теперь мы можем работать с циклами ещё удобнее! 🚀

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9🔥31