Леся ИнфоФул | Информатика и Математика | Подготовка к ОГЭ и ЕГЭ 2026
476 subscribers
861 photos
56 videos
56 files
483 links
Я - Леся, и я- репетитор по информатике и математике! Залетай на канал и будем готовиться к ЕГЭ!

Мой ютуб канал, присоединяйся 🙃
https://youtube.com/@infopool_ege

Для личных сообщений или записи на занятия @olesya_zloo
https://infopoolege.tilda.ws/
Download Telegram
Forwarded from ПЕЧЬ🔥
😢 День нытиков отмечается сегодня

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

Поздравляй тех, кто вечно всем недоволен.

👉 ПЕЧЬ - поделиться с другом 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет❤️ вчера был день нытья, а сегодня сделаем день мемасиков🎉 скидывайте ваши любимые в комментариях ❤️
Приветствую всех на моем канале!

Сегодня говорим о модуле itertools — мощном наборе функций для работы с последовательностями. С его помощью можно легко решать комбинаторные задачи, генерировать перестановки, сочетания и многое другое.
Делитесь в комментариях:

👉 Какие функции itertools вам уже знакомы?
👉 С какими задачами столкнулись при их использовании?

Погнали! 💻🔥

#Python #ЕГЭ #itertools #Программирование
1
Модуль itertools в Python — это коллекция полезных итераторов, которые значительно упрощают работу с последовательностями данных. Эти инструменты особенно полезны в задачах комбинаторики, обработки данных и при решении оптимизационных задач, включая задания из ЕГЭ по информатике.

Основные функции модуля itertools

1. product() — декартово произведение
Функция product() создает все возможные комбинации элементов из переданных последовательностей (декартово произведение).
from itertools import product

a = [1, 2]
b = [3, 4]
result = list(product(a, b))
print(result) # [(1, 3), (1, 4), (2, 3), (2, 4)]

Применение:
генерация всех возможных комбинаций для паролей, тестирование всех вариантов входных данных.

2. permutations() — перестановки
Генерирует все возможные перестановки элементов последовательности.
from itertools import permutations

s = 'abc'
result = list(permutations(s))
print(result)
# [('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'),
# ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')]

Применение:
задачи на составление слов, комбинаторные задачи.

3. combinations() — комбинации
Создает все возможные комбинации элементов заданной длины.
from itertools import combinations

a = [1, 2, 3, 4]
result = list(combinations(a, 3))
print(result) # [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

4. chain() — объединение последовательностей
Объединяет несколько итерируемых объектов в один.
from itertools import chain

a = [1, 2, 3]
b = ['a', 'b', 'c']
result = list(chain(a, b))
print(result) # [1, 2, 3, 'a', 'b', 'c']

5. cycle() — бесконечный цикл
Повторяет элементы последовательности бесконечно.
from itertools import cycle

a = [1, 2, 3]
a1 = cycle(a)
for i in range(6):
print(next(a1)) # 1, 2, 3, 1, 2, 3

6. islice() — срез для итерируемых объектов
Эффективный аналог среза для больших последовательностей.
from itertools import islice

a = range(1, 11)
slicea = islice(a, 2, 7)
print(list(slicea)) # [3, 4, 5, 6, 7]

7. count() — бесконечный счетчик
Генерирует бесконечную последовательность чисел.
from itertools import count

for i in count(3):
if i > 10:
break
print(i) # 3, 4, 5, 6, 7, 8, 9, 10
Примеры решения задач ЕГЭ

Задача 1:
Сколько существует 3-буквенных слов из букв П, Л, А, Н, где буква А встречается хотя бы 1 раз?
from itertools import product

k = 0
for i in product("ПЛАН", repeat=3):
s = ''.join(i)
if s.count('А') >= 1:
k += 1
print(k) # Ответ: 37

Задача 2:
Сколько 6-буквенных кодов можно составить из букв Р, У, С, Л, А, Н, где каждая буква используется один раз и две гласные не стоят рядом?
from itertools import permutations

k = 0
for i in permutations("РУСЛАН"):
s = ''.join(i)
if 'УА' not in s and 'АУ' not in s:
k += 1
print(k) # Ответ: 480



Модуль itertools — это мощный инструмент для работы с последовательностями, который может значительно упростить решение сложных задач. Освоив эти функции, вы сможете эффективно решать комбинаторные задачи и оптимизировать свой код.
Виктор составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Виктор использует 5-буквенные слова, в которых могут быть только буквы Д, Г, И, А, Ш, Э, причём слово не должно начинаться с гласной и не должно заканчиваться согласной.
Сколько различных кодовых слов может использовать Виктор?
Anonymous Quiz
0%
2592
0%
1728
0%
7776
100%
1944
Все шестибуквенные слова, в составе которых могут быть только буквы П, О, Б, Е, Д, А, записьны в алфавитном порядке и пронумерованы начиная с 1.
Ниже приведено начало списка.
1. AAAAAA
2. АААААБ
3. АААААД
4. AAAAAE
5. АААААО
6. АААААП
...
Определите последний чётный номер слова, которое начинается с буквы О и в котором каждая буква встречается ровно один раз.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Anonymous Quiz
63%
38306
25%
1093
4%
888881
8%
6406
Dosrok_2025.zip
9.4 MB
Вышел открытый вариант ФИПИ

(по сути досрок 2025)

Можете посмотреть и порешать, если еще этого не сделали. Досрок был легким, посмотрим, что будет на основной волне🥰

Пы.сы. Будем надеяться, что формулировку 22 на основе оставят такой же, ставь 🔥, если не любишь это задание
🔥2
Добрый вечер, всем тем, кто листает телеграмм и что-то новое хочет узнать. Сегодня мы узнаем что такое библиотека string и с чем его едят.
Библиотека string в Python — это стандартный модуль, предоставляющий набор полезных констант и функций для работы со строками. Она особенно удобна для задач, связанных с обработкой текста, генерацией случайных строк, проверкой символов и работой с системами счисления.

1. Модуль string: полезные константы
В Python модуль string предоставляет набор предопределённых строковых констант, которые упрощают работу с текстом.

Пример использования:  from string import digits, ascii_lowercase

print(digits) # Выведет: 0123456789
print(ascii_lowercase[:5]) # abcde

2. Решение задач с системами счисления
Часто в задачах требуется работать с числами в разных системах счисления (например, 25-ричной). Python позволяет легко конвертировать такие числа.
Пример задачи:
> Даны два числа в 25-ричной системе:
> 11353x12 и 135x21, где x — неизвестная цифра (из алфавита 25-ричной системы).
> Найти наибольшее x, при котором сумма чисел кратна 24.

Решение:
1. Алфавит 25-ричной системы:
Используем первые 25 символов из printable:
     from string import printable
alphabet_25 = printable[:25] # 0-9, a-o (для x)

2. Перебор значений x:
     for x in alphabet_25:
num1 = int('11353' + x + '12', 25)
num2 = int('135' + x + '21', 25)
total = num1 + num2
if total % 24 == 0:
print(f"x = {x}, Частное = {total // 24}")
Вывод:

Для x = 'n' (наибольшая цифра в алфавите) сумма кратна 24.

3. Важные моменты
- Основание системы счисления:
В int() указывается вторым аргументом (например, int('10a', 25)).
- Цифры >9:
Буквы a-o соответствуют значениям 10-24 в 25-ричной системе.
- Оптимизация:
Для задач с большими числами используйте математические свойства (например, делимость на 24 можно проверить через сумму цифр).

Модуль string и встроенные функции Python (int(), printable) позволяют элегантно решать задачи на системы счисления и работу с символами. Для сложных случаев — всегда проверяйте алфавит и граничные значения.

#peyton #теорияегэ #теорияpeyton
2
Оставляйте реакции и комментарии, если было полезно🔥🙃
🔥3