Автор: Д.Бахтиев
Уровень: Средний
В файле содержится последовательность целых чисел.
Её элементы могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество троек последовательности, сумма цифр элементов которых равна минимальному положительному элементу последовательности, оканчивающемуся на 4. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
R = []
M = [int(x) for x in open('0. files/17.txt')]
W = [x for x in M if abs(x) % 10 == 4 and x > 0]
for i in range(len(M) - 2):
a, b, c = M[i], M[i + 1], M[i + 2]
summa = sum([int(x) for x in str(a) + str(b) + str(c) if x.isdigit()])
if summa == min(W):
R.append(a + b + c)
print(len(R), max(R))
Ответ: 11 180738
R = []
Создается пустой список R, в который будут записываться подходящие суммы троек чисел.
M = [int(x) for x in open('0. files/17.txt')]
Открывается файл 17.txt, читаются все числа и сохраняются в список M (каждое число преобразуется в int).
W = [x for x in M if abs(x) % 10 == 4 and x > 0]
В список W попадают только положительные числа из M, у которых последняя цифра равна 4 (например, 14, 24, -34 не подойдет, т.к. по условию x > 0).
for i in range(len(M) - 2):
Цикл перебирает индексы списка M до предпоследнего элемента, чтобы можно было взять тройку чисел (a, b, c) = (M[i], M[i+1], M[i+2]).
a, b, c = M[i], M[i + 1], M[i + 2]
Текущая тройка чисел из M записывается в переменные a, b и c.
summa = sum([int(x) for x in str(a) + str(b) + str(c) if x.isdigit()])
- str(a) + str(b) + str(c) — числа a, b, c преобразуются в строки и объединяются в одну строку (например, 123, -45, 678 → "123-45678").
- [int(x) for x in ... if x.isdigit()] — из этой строки берутся только цифры (минус игнорируется), и они преобразуются обратно в числа.
- sum(...) — вычисляется сумма всех цифр в тройке чисел.
if summa == min(W):
Проверяется, равна ли сумма цифр минимальному числу из W (т.е. минимальному положительному числу, оканчивающемуся на 4).
R.append(a + b + c)
Если условие выполнено, то сумма самой тройки чисел (a + b + c) добавляется в список R.
print(len(R), max(R))
В конце выводится:
- количество найденных троек (len(R)),
- максимальная сумма из этих троек (max(R)).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥3👍2
Автор: Yandex учебник
Уровень: Базовый
Определите количество строк таблицы, для чисел которых выполнены оба условия:
- в строке есть ровно одно число, которое повторяется дважды, а остальные числа различны;
- максимальное число строки повторяется столько же раз, сколько и минимальное.
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied2 = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied2) == 2 and len(uncopied) == 5:
if M.count(max(M)) == M.count(min(M)):
cnt += 1
print(cnt)
Ответ: 349
cnt = 0
Инициализируем счётчик, который будет считать строки, удовлетворяющие условиям задачи.
for s in open('0. files/9.csv'):
Построчно читаем файл '0. files/9.csv'; каждая строка — это строка s.
M = [int(x) for x in s.split(';')]
Преобразуем строку в список целых чисел, разделяя элементы по символу ';'.
copied2 = [x for x in M if M.count(x) == 2]
Создаём список чисел, которые встречаются ровно дважды.
uncopied = [x for x in M if M.count(x) == 1]
Создаём список чисел, которые встречаются только один раз.
if len(copied2) == 2 and len(uncopied) == 5:
Проверяем, что два различных числа встречаются по два раза, а пять других — по одному разу.
if M.count(max(M)) == M.count(min(M)):
Проверяем, что максимальное и минимальное значения в строке встречаются одинаковое количество раз.
cnt += 1
Если оба условия выполнены, увеличиваем счётчик подходящих строк на 1.
print(cnt)
Выводим количество строк, удовлетворяющих условиям задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍3❤1
Информатика | Илья Андрианов | itpy 🧑💻
Вот пример упорядоченного плана изучения ключевых тем Python для успешной подготовки к ЕГЭ по информатике:
1. Типы данных
2. Базовая арифметика
3. Строки
4. Списки
5. Генераторы списков
6. Условные операторы
7. Циклы
8. Работа с функциями
9. Встроенные функции any и all
10. Рекурсия функций
11. Чтение текстовых файлов
12. Библиотека itertools
Тут оставлю ссылку на мой бесплатный Python курс, который буду этим летом доводить до ума. Как минимум хочу добавить видео!)
#⃣ Вся теория для ЕГЭ в одном месте
➡ Информатика ЕГЭ | чатик itpy 🧑💻
1. Типы данных
Основные: целые (int), вещественные (float), строковые (str), булевы (bool).
2. Базовая арифметика
Операторы +, -, *, /, //, %, возведение в степень.
3. Строки
Индексация, срезы, методы (например, .split(), .join(), .replace() и т. д.).
4. Списки
Создание, индексация, методы (append(), pop(), remove(), sort() и др.).
5. Генераторы списков
Краткий синтаксис для создания списков на основе существующих («list comprehensions»).
6. Условные операторы
Конструкция if / elif / else, логические выражения (and, or, not).
7. Циклы
for и while, ключевые слова break и continue.
8. Работа с функциями
Определение def, параметры и аргументы, возврат значения (return), область видимости.
9. Встроенные функции any и all
Применение для проверки условий над коллекциями.
10. Рекурсия функций
Основы рекурсивных вызовов, условия выхода, пример решения классических задач (факториал, обход дерева).
11. Чтение текстовых файлов
Открытие файла (open), чтение (read, readline, readlines), закрытие файла или контекстный менеджер (with).
12. Библиотека itertools
Функции product (декартово произведение), permutations (перестановки) и их применение в переборе комбинаций.
Тут оставлю ссылку на мой бесплатный Python курс, который буду этим летом доводить до ума. Как минимум хочу добавить видео!)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7👍3🔥3❤1
Автор: Сергей Горбачев
Уровень: Средний
У исполнителя есть три команды, которые обозначены цифрами:
1. Прибавить 3
2. Прибавить 4
3. Умножить на 2
Сколько существует программ, для которых при исходном числе 11 результатом будет являться отрезок [50;54], при этом траектория вычислений не содержит числа 23?
def F(a, b: list):
if a >= min(b) or a == 23:
return a in b
return F(a + 3, b) + F(a + 4, b) + F(a * 2, b)
print(F(11, [50, 51, 52, 53, 54]))
Ответ: 3254
def F(a, b: list):
• Объявление функции F с двумя параметрами: a (число) и b (список чисел).
if a >= min(b) or a == 23:
• Условие: если a больше или равен минимальному элементу списка b ИЛИ a равен 23.
return a in b
• Если условие выше выполняется, возвращается True/False (проверка, есть ли a в списке b).
return F(a + 3, b) + F(a + 4, b) + F(a * 2, b)
• Если условие не выполняется, функция вызывает саму себя рекурсивно с тремя разными значениями a:
• Результаты этих вызовов суммируются.
print(F(11, [50, 51, 52, 53, 54]))
Вызов функции с аргументами a = 11 и b = [50, 51, 52, 53, 54], затем вывод результата.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5❤4🔥4
Срезы (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] (каждый второй элемент)
а также 13, 14, 17 и других номерах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥5🔥4 2
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 ТОП 5 самых простых номеров на информатике по-моему мнению #view
📱 Смотреть в TikTok
📱 Смотреть в YouTube
📱 Смотреть в ДЗЕН
📱 Смотреть в VK
📺 Все мои видео в одном месте
➡ Информатика ЕГЭ | чатик itpy 🧑💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥3👍2
Немного статистики с пресс-конференции по итогам ЕГЭ 2025
Средние баллы ЕГЭ 2025:
🔣 Математика профиль: 62
🔣 Русский язык: 60.7
🔣 Физика: 61.7
🔣 Информатика: 55,9
Средние баллы ЕГЭ 2024:
🔣 Математика профиль: 62,55
🔣 Русский язык: 63,88
🔣 Физика: 63,21
🔣 Информатика: 54,49
Экзамен в этом году был проще, чем в прошлом, но средний балл изменился незначительно.
Я думаю, это произошло потому, что к многим заданиям «ожидали» более сложных прототипов и просто не готовили более простые.
Как бы то ни было, такой результат, скорее всего, приведёт к тому, что в следующем году экзамен будет примерно таким же лёгким.
Можно смело сдавать ЕГЭ по инфе в 2026 году😆
➡ Информатика ЕГЭ | чатик itpy 🧑💻
Средние баллы ЕГЭ 2025:
Средние баллы ЕГЭ 2024:
Экзамен в этом году был проще, чем в прошлом, но средний балл изменился незначительно.
Я думаю, это произошло потому, что к многим заданиям «ожидали» более сложных прототипов и просто не готовили более простые.
Как бы то ни было, такой результат, скорее всего, приведёт к тому, что в следующем году экзамен будет примерно таким же лёгким.
Можно смело сдавать ЕГЭ по инфе в 2026 году
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🤔3 2❤1
Неожиданное наблюдение: На пересдачу по информатике зарегистрировалось больше людей, чем на математику и русский язык 🤔
Как можно объяснить это явление, учитывая, что информатику выбирают реже, да и экзамен в этом году не был чрезмерно сложным..
Источник Рособрнадзор:
Пресс-конференция: «Итоги основного периода ЕГЭ-2025»
➡ Информатика ЕГЭ | чатик itpy 🧑💻
Как можно объяснить это явление, учитывая, что информатику выбирают реже, да и экзамен в этом году не был чрезмерно сложным..
Источник Рособрнадзор:
Пресс-конференция: «Итоги основного периода ЕГЭ-2025»
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯7 4 3
🟡 1 бит🟡 1 байт = 8 бит🟡 1 Кбайт = 2¹⁰ байт = 1024 байт🟡 1 Мбайт = 2¹⁰ Кбайт = 1024 Кбайт🟡 1 Гбайт = 2¹⁰ Мбайт = 1024 Мбайт🟡 1 Тбайт = 2¹⁰ Гбайт = 1024 Гбайт🟡 1 Пбайт = 2¹⁰ Тбайт = 1024 Тбайт
Смотрите и запоминайте, если в будущем не хотите получать глупых ошибок в 7 и 11 номерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍7❤2
float
в Python? #tpyОтвет:
Почему так происходит:
Число 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥3😁1
Если раньше для подстановки переменных в строку мы писали:
"Привет, {}!".format(name)
то теперь с f-строками можно проще:
name = "Андрей"
print(f"Привет, {name}!") # Привет, Андрей!
a = 5
b = 3
print(f"{a} + {b} = {a + b}") # 5 + 3 = 8
user = "Андрей"
action = "покупка"
log = f"Пользователь {user} зашел на сайт и выполнил действие: {action}"
print(log) # Пользователь Андрей зашел на сайт и выполнил действие: покупка
Чтобы использовать
f-строку
, ставь f
перед кавычками и указывай переменные в {}
.Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤9
Ребят, а кто будет сдавать ЕГЭ в 2026 году?
Anonymous Poll
30%
Буду сдавать в 2026
9%
Пока рано мне
49%
Уже сдал
1%
Планирую пересдавать в 2026
11%
Посмотреть результат
❤8
Есть тут те, кто не знает, как проходит ЕГЭ по информатике?
Anonymous Poll
19%
Там же все просто, в школе рассказывали
22%
Что-то слышал, но не точно
12%
В школе ничего не рассказывали..
47%
Посмотреть результат
❤10❤🔥5
Я вот думаю.. сделать видео/стрим или серию текстовых постов про этот реально важный момент ЕГЭ
Anonymous Poll
29%
Видео
9%
Стрим
32%
Текстовый пост
30%
Посмотреть результаты
❤14🤔6❤🔥5
Если хотите добавить свой канал в папку, пишите: @kubik2566
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12❤🔥4👍2🤯1🫡1
Автор: Джобс Е.
Уровень: Простой
Сколько существует 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
from itertools import *
- Импорт всех функций из модуля itertools (используется функция product)
cnt = 0
- Инициализация счетчика для подсчета подходящих комбинаций
for p in product('0123', repeat=4):
- Цикл по всем возможным 4-значным комбинациям из цифр 0,1,2,3 (с повторами)
- Например: ('0','0','0','0'), ('0','0','0','1'), ..., ('3','3','3','3')
num = ''.join(p)
- Объединение кортежа символов в строку (например, ('1','2','3','0') → '1230')
if num[0] != '0':
- Проверка, что число не начинается с 0 (исключаем 4-значные числа с ведущим нулем)
if any(num.count(x) >= 2 for x in num):
- Проверка, что в числе есть хотя бы одна цифра, которая повторяется 2 или более раз
- any() возвращает True, если хотя бы один элемент удовлетворяет условию
cnt += 1
- Если оба условия выполнены (не начинается с 0 и есть повторяющиеся цифры), увеличиваем счетчик
print(cnt)
- Вывод общего количества подходящих комбинаций
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14 8🫡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()
— ваш быстрый помощник, но применять его нужно с осторожностью!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
from re import *
- Импорт всех функций из модуля re (регулярные выражения).
for x in range(13, 10**9, 13):
- Цикл, перебирающий числа x от 13 до 1 миллиарда с шагом 13 (т.е. все числа, кратные 13).
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.
print(x, x // 13)
- Если число соответствует шаблону, выводит само число и результат деления x на 13.
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. Английский язык
Гайд «Словообразование на максимум» по английскому языку
📌ЖМИТЕ НА СИНИЙ ТЕКСТ И ЗАБИРАЙТЕ ПОЛЕЗНЫЕ МАТЕРИАЛЫ
Мы с коллегами собрали все материалы для ЕГЭ, забирайте их и сделайте вид, что готовились сами 🤫
Это подборка материалов, которая помогает системно готовиться и уверенно сдать ЕГЭ на высокий балл. Забирайте, польза разрешена.
1. Математика
Планер по подготовке к профильному ЕГЭ по математике и бонусное видео «Ловушки в логарифмических неравенствах»
2. Обществознание
Гайд по выполнению второй части ЕГЭ по обществознанию
3. Информатика
Пять простейших заданий ЕГЭ по информатике решаемых кодом
4. Русский язык
Памятка по написанию сочинения на ЕГЭ по русскому языку
5. Физика
Гайд по оформлению заданий 2 части ЕГЭ по физике
6. Английский язык
Гайд «Словообразование на максимум» по английскому языку
📌ЖМИТЕ НА СИНИЙ ТЕКСТ И ЗАБИРАЙТЕ ПОЛЕЗНЫЕ МАТЕРИАЛЫ
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤🔥28🤯7🔥5❤2
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, сообщая, что элемент не найден.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥27🔥10❤4