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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
📎Что такое 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
❤‍🔥11🔥31
🚩🚩 Разбор этого номера #yandex по информатике #ЕГЭ17
Автор: Яндекс Учебник
Уровень: Базовый


🚩 Условие задачи:
В файле содержится последовательность целых чисел, каждое из которых находится в диапазоне от -20000 до
20 000. Определите количество пар элементов последовательности, сумма которых превосходит каждую из сумм соседних пар, при этом все три суммы являются положительными.
В ответе запишите количество найденных пар чисел, затем минимальное из произведений элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Под соседними парами подразумеваются четыре идущих подряд элемента последовательности.
Например, в последовательности 1 2 3 4 5 6 у пары (3, 4) соседние пары (1, 2) и (5, 6).


👩‍💻 Код решения:
M = [int(s) for s in open('17.txt')]
R = []
for i in range(len(M)-5):
x, y, z, w, r, t = M[i:i+6]
if (z + w) > (x + y) and (z + w) > (r + t):
if z + w > 0 and x + y > 0 and r + t > 0:
R.append(z * w)
print(len(R), min(R))

Ответ: 610 -123157359

👩‍💻 Файлы для решения задачи: 17.txt

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

1⃣ M = [int(s) for s in open('17.txt')]
- Читаем файл 17.txt, преобразуем каждую строку в целое число и сохраняем в список M.


2⃣ R = []
- Создаем пустой список R для хранения результатов.


3⃣ for i in range(len(M)-5):
- Цикл по индексам списка M с шагом 1, останавливаясь за 5 элементов до конца (чтобы хватило элементов для среза).


4⃣ x, y, z, w, r, t = M[i:i+6]
- Берем срез из 6 последовательных элементов и распаковываем их в переменные x, y, z, w, r, t.


5⃣ if (z + w) > (x + y) and (z + w) > (r + t):
- Проверяем, что сумма третьего и четвертого элементов (`z + w`) больше суммы:
- первых двух элементов (`x + y`)
- последних двух элементов (`r + t`)


6⃣ if z + w > 0 and x + y > 0 and r + t > 0:
- Дополнительная проверка, что все три суммы положительные.


7⃣ R.append(z * w)
- Если оба условия выполнены, добавляем произведение z * w в список R.


8⃣ print(len(R), min(R))
- Выводим количество найденных подходящих комбинаций и минимальное значение среди произведений z * w.


#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍1🔥1
🔤🔤🔤🔤🔤 2️⃣0️⃣0️⃣0️⃣ 🔤

🚩 Условия:
🚩 Подписаться на нашу папку с полезными телеграм-каналами 📁

🚩 В комментариях под постом на канале Курбик в мёде поставить:


Итоги подведем 9 сентября в 18:00 на канале Курбик в мёде
Please open Telegram to view this post
VIEW IN TELEGRAM
36❤‍🔥2👍2
a = [0, 1, 2]
b = a
b += [3, 4]

c = (0, 1, 2)

d = c
d += (3, 4)

print(a, c)


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
32🔥1
🚩🚩 Разбор этого номера #yandex по информатике #ЕГЭ12
Автор: Яндекс Учебник
Уровень:
Простой

🚩 Условие задачи:
ПОКА нашлось (44) ИЛИ нашлось (9299) ИЛИ нашлось (49)
заменить (49, 944)
заменить (44, 2)
заменить (9299, 4)

На вход приведённой выше программе поступает строка, которая начинается с цифры «4», а затем содержит n цифр «9» (3<n<1 000).

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


👩‍💻 Код решения:
my_set = set()
for n in range(4, 1000):
s = '4' + '9' * n

while '44' in s or '9299' in s or '49' in s:
s = s.replace('49', '944', 1)
s = s.replace('44', '2', 1)
s = s.replace('9299', '4', 1)
my_set.add(s)
print(len(my_set))

Ответ: 3

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

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


2⃣ for n in range(4, 1000):
- Цикл по значениям n от 4 до 999 включительно


3⃣ s = '4' + '9' * n
- Создание строки, состоящей из цифры '4' и n цифр '9' (например, при n=4: '49999')


4⃣ while '44' in s or '9299' in s or '49' in s:
- Цикл выполняется, пока в строке есть хотя бы одна из подстрок: '44', '9299' или '49'


5⃣ s = s.replace('49', '944', 1)
- Замена первой найденной подстроки '49' на '944'


6⃣ s = s.replace('44', '2', 1)
- Замена первой найденной подстроки '44' на '2'


7⃣ s = s.replace('9299', '4', 1)
- Замена первой найденной подстроки '9299' на '4'


8⃣ my_set.add(s)
- Добавление полученной строки в множество (автоматически исключает дубликаты)


0⃣ print(len(my_set))
- Вывод количества уникальных строк в множестве


#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
25❤‍🔥4🔥2
📱 Что такое замыкание в Python? #useful

🧠 Объявление: функция внутри функции, которая запоминает переменные из внешней области


Пример: создание счетчика
def create_counter():
count = 0 # Внутреннее состояние
def counter():
nonlocal count
count += 1
print("Текущий счет:", count)
return counter


💻 Использование созданного счетчика
my_counter = create_counter()
my_counter() # Текущий счет: 1
my_counter() # Текущий счет: 2



Что происходит?
Каждый вызов my_counter() увеличивает внутренний счетчик, который "запомнен" внутри функции. Это и есть замыкание!


🔍 Зачем это нужно?
- Хранить состояние между вызовами
- Создавать "приватные" переменные
- Сделать код более модульным и безопасным


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