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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
🖥 Все методы списков в Python, которые понадобятся на ЕГЭ #tpy


🚩 .APPEND()

Метод .append() используется для добавления элемента в конец списка. Пример:
my_list = [1, 2, 3]
my_list.append(4)
my_list.append(5)
print(my_list) # Вывод: [1, 2, 3, 4, 5]


Можно реализовать через конкатенацию (склеивание) списков:
my_list = [1, 2, 3]
my_list = [0] + my_list + [4, 5]
print(my_list) # Вывод: [0, 1, 2, 3, 4, 5]



🚩 .REVERSE()

Метод .reverse() изменяет порядок элементов в списке на обратный. Пример:
my_list = [1, 2, 3, 4]
my_list.reverse()
print(my_list) # Вывод: [4, 3, 2, 1]


Можно записать по другому через срез:
my_list = [1, 2, 3, 4]
my_list = my_list[::-1]
print(my_list) # Вывод: [4, 3, 2, 1]



🚩 .COUNT()

Метод .count() возвращает количество вхождений заданного элемента в список. Пример:
my_list = [1, 2, 2, 3, 4, 2]
print(my_list.count(2)) # Вывод: 3



🚩 .REMOVE()

Метод .remove() удаляет первое вхождение указанного элемента из списка. Пример:
my_list = [1, 2, 3, 2, 4]
my_list.remove(2) # Первая найденная двойка
print(my_list) # Вывод: [1, 3, 2, 4]


Можно удалить элемент через его индекс используя del:
my_list = [1, 2, 3, 2, 4]
del my_list[1] # Индекс удаляемого элемента
print(my_list) # Вывод: [1, 3, 2, 4]



🚩 .INDEX()

Метод .index() возвращает индекс первого вхождения заданного элемента в списке. Пример:
my_list = [1, 2, 3, 2, 4]
print(my_list.index(2)) # Вывод: 1



🚩 .SORT()

Метод .sort() сортирует элементы списка по возрастанию (по умолчанию) или в обратном порядке, если передан аргумент reverse=True. Пример:
my_list = [4, 1, 3, 2]
my_list.sort()
print(my_list) # Вывод: [1, 2, 3, 4]

my_list.sort(reverse=True)
print(my_list) # Вывод: [4, 3, 2, 1]


Скажу честно я не любитель этого метода, считаю, что удобнее будет использовать функцию sorted():
my_list = [4, 1, 3, 2]
my_list = sorted(my_list)
print(my_list) # Вывод: [1, 2, 3, 4]

my_list = sorted(my_list, reverse=True)
print(my_list) # Вывод: [4, 3, 2, 1]



Азим вкатывается в IT | itpy 💻
Наш второй канал по подготовке к ЕГЭ 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
75❤‍🔥3
This media is not supported in the widget
VIEW IN TELEGRAM
❤‍🔥7👍7🔥2
1⃣3⃣ Шпаргалка для номера #ЕГЭ13
#реклама

Собрали все полезные функции из библиотеки ipaddress для нового 13 номера ЕГЭ по информатике. В меню навигации ты найдешь шпаргалки по остальным номерам!

🚩 Подключаем библиотеку:
from ipaddress import *


🚩 Функция для создания объекта сети:
net = ip_network('адрес сети/маска')


🚩 Получение маски сети:
net.netmask


🚩 Цикл для перебора значений маски:
for mask in range(33):
net = ip_network(f'адрес узла/{mask}', 0)


🚩 Цикл для перебора IP-адресов в сети:
for ip in net: 


🚩 Представление IP-адреса в двоичном виде:
ip_b = f'{ip:b}'


Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍65
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор этого номера #yandex по информатике #ЕГЭ8
Автор: Яндекс учебник
Уровень: Простая


🚩 Условие задачи:
Артём составляет пятибуквенные слова из букв своего имени. Он ввёл два правила: не повторять буквы в одном слове и не ставить гласные первыми и последними одновременно.

Сколько таких слов может составить Артём?


🚩 Теоретическая справка:
Обратите внимание на этот if, интересная штука и не самая очевидная.


👩‍💻 Код решения:
from itertools import *
cnt = 0
for p in permutations('Артём'.upper()):
word = ''.join(p)
if not(word[0] in 'АЁ' and word[-1] in 'АЁ'):
cnt += 1
print(cnt)

# Ответ: 108


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

1⃣ from itertools import *
- Импортируются все функции и классы из модуля itertools, который предоставляет инструменты для создания итераторов.


2⃣ cnt = 0
- Инициализируется переменная cnt, которая будет использоваться для подсчета количества подходящих перестановок.


3⃣ for p in permutations('Артём'.upper()):
- Запускается цикл for, который проходит по всем возможным перестановкам заглавных букв слова "Артём".


4⃣ word = ''.join(p)
- Перестановка p преобразуется в строку и сохраняется в переменной word.


5⃣ if not(word[0] in 'АЁ' and word[-1] in 'АЁ'):
- Проверяется, начинается ли слово с буквы из множества 'АЁ' и заканчивается ли также на букву из того же множества; если это не так, выполняется следующий шаг.


6⃣ cnt += 1
- Увеличивается счетчик cnt на 1, если условие в предыдущей строке истинно.


7⃣ print(cnt)
- Выводится общее количество перестановок, удовлетворяющих заданному условию.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9🔥43🤔1
🚩 Разбор номера #yandex по информатике #ЕГЭ8
Автор: Джобс Е.
Уровень: Средний


🚩 Условие задачи:
Катя составляет 5-буквенные слова из букв слова АПРЕЛЬ и упорядочивает их в обратном алфавитном порядке.

Вот начало списка:
1. ЬЬЬЬЬ
2. ЬЬЬЬР
3. ЬЬЬЬП
4. ЬЬЬЬЛ
5. ЬЬЬЬЕ
6. ЬЬЬЬА
7. ЬЬЬРЬ

Сколько слов, оканчивающихся на Ь, запишет Катя, если заполнит список до 387 позиции?



👩‍💻 Код решения:
from itertools import *
n = 0
cnt = 0
for p in product(sorted('АПРЕЛЬ', reverse=True), repeat=5):
word = ''.join(p)
n += 1

if word[-1] == 'Ь':
cnt += 1
print(word)

if n >= 387:
break

print(cnt)

# Ответ: 65


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

1⃣ from itertools import *
- Импортируются все функции и классы из модуля itertools, который предоставляет инструменты для создания итераторов.


2⃣ n = 0
- Инициализируется переменная n для подсчета количества сгенерированных комбинаций.


3⃣ cnt = 0
- Инициализируется переменная cnt для подсчета слов, заканчивающихся на букву 'Ь'.


4⃣ for p in product(sorted('АПРЕЛЬ', reverse=True), repeat=5):
- Запускается цикл for, который создает все возможные кортежи длиной 5 из букв слова 'АПРЕЛЬ', отсортированных в обратном порядке.


5⃣ word = ''.join(p)
- Кортеж p преобразуется в строку word.


6⃣ n += 1
- Увеличивается счетчик n на 1, чтобы отслеживать количество проверенных слов.


7⃣ if word[-1] == 'Ь':
- Проверяется, заканчивается ли слово word на букву 'Ь'.


8⃣ cnt += 1
- Увеличивается счетчик cnt, если слово заканчивается на 'Ь'.


0⃣ print(word)
- Выводится слово, если оно заканчивается на 'Ь'.


1⃣0⃣ if n >= 387:
- Проверяется, достигло ли количество проверенных слов значения 387.


1⃣1⃣ break
- Завершается цикл, если количество проверенных слов достигает 387.


1⃣2⃣ print(cnt)
- Выводится общее число слов, заканчивающихся на 'Ь'.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9🔥31🫡11
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 17799 #kege по информатике #ЕГЭ8
Автор: (В. Зарянкин)
Уровень: Средний


🚩 Условие задачи:
Все четырёхбуквенные слова, в составе которых могут быть только русские буквы А, Р, Г, У, М, Е, Н, Т, записаны в алфавитном порядке и пронумерованы начиная с 1.

Вот начало списка:
1. АААА
2. АААГ
3. АААЕ
4. АААМ
5. АААН

Под каким номером в списке идёт последнее слово, в котором все буквы различны и все символы располагаются в алфавитном порядке?



👩‍💻 Код решения:
from itertools import *
for n, p in enumerate(product(sorted('АРГУМЕНТ'), repeat=4), 1):
slovo = ''.join(p)
if len(slovo) == len(set(slovo)): # все буквы различны
# print(slovo) # АГЕМ
# print(list(slovo)) # ['А', 'Г', 'Е', 'М']
# print(sorted(slovo)) # ['А', 'Г', 'Е', 'М']
if list(slovo) == sorted(slovo):
print(n)

# Ответ: 2424


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

1⃣ from itertools import *
- Импортируются все функции и классы из модуля itertools, который предоставляет инструменты для создания итераторов.


2⃣ for n, p in enumerate(product(sorted('АРГУМЕНТ'), repeat=4), 1):
- Цикл for перебирает все возможные комбинации длиной 4 из букв слова 'АРГУМЕНТ', отсортированных в алфавитном порядке. Каждая комбинация сопровождается порядковым номером n, начиная с 1.


3⃣ slovo = ''.join(p)
- Комбинация p преобразуется в строку и сохраняется в переменной slovo.


4⃣ if len(slovo) == len(set(slovo)): # все буквы различны
- Проверяется, содержатся ли в строке slovo только уникальные символы, сравнивая длину строки и множества из этой строки.


5⃣ if list(slovo) == sorted(slovo):
- Проверяется, упорядочены ли буквы в slovo в алфавитном порядке.


6⃣ print(n)
- Выводится порядковый номер текущей комбинации, если выполнены оба условия уникальности и упорядоченности букв.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут ответы на все вопросы 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥4🔥2
8⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ8 #шпора

Ссылка на подборку с разборами 8 номеров на канале, сохраняйте и отправляйте другу: click here

И пару полезных стрчоку уже здесь:

🚩 for s in itertools.permutations('ЯРОСЛАВ', 5):
Цикл for, который проходит через все перестановки длиной 5 букв из заданной строки 'ЯРОСЛАВ'. Каждая перестановка сохраняется в переменной s.


🚩 for s in itertools.product('АЕКНС', repeat=6):
Цикл for, в котором происходит итерация по всем комбинациям символов из 'АЕКНС' длиной 6 символов, сгенерированным с помощью метода product из модуля itertools.


🚩 slovo = ''.join(s)
Преобразования кортежа символов "s" в строку символов "slovo".


🚩 if slovo[0] not in '1357':
Проверка условия, что элемент слова по индексу "0" является одним из символов набора.


🚩 if all(pair not in num for pair in '71 17 37 73 57 75 77'.split()):
Функция all() позволяет проверять множественные вхождения элементов в строку. В данном случаи ни одно из чисел "71 17 37 73 57 75 77" не должно попадаться в строку num.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥92🔥2
📱 Как легко переводить числа между различными системами счисления: двоичной, восьмеричной и шестнадцатеричной.

2⃣ Двоичная система:
- В Python можно использовать функцию bin(), чтобы получить двоичное представление числа.

- Например, bin(125) возвращает строку '0b1111101', где префикс 0b указывает на двоичную систему.

- Чтобы избавиться от префикса, используйте срез: bin(125)[2:], что даст '1111101'.

- Также можно использовать форматирование строк: f'{125:b}', что также выдаст '1111101'.

- Для обратного преобразования строки в число используйте int('1111101', 2), получив исходное 125.

n = 125
print(bin(n)) # 0b1111101
print(f'{n:b}') # 1111101
print(bin(n)[2:]) # 1111101
print(int('1111101', 2)) # 125



8⃣ Восьмеричная система:
- Используйте функцию oct(), чтобы получить восьмеричное представление.

- oct(125) возвращает '0o175', где 0o обозначает восьмеричную систему.

- Чтобы убрать префикс, используйте срез: oct(125)[2:] даст '175', или форматирование: f'{125:o}', что тоже даст '175'.

- Обратно можно преобразовать с помощью int('175', 8), снова получая 125.

n = 125
print(oct(n)) # 0o175
print(f'{n:o}') # 175
print(oct(n)[2:]) # 175
print(int('175', 8)) # 125



1⃣6⃣ Шестнадцатеричная система:
- Преобразуйте число в шестнадцатеричное, используя hex().

- hex(125) возвращает '0x7d', где 0x указывает на шестнадцатеричную систему.

- Удалите префикс срезом: hex(125)[2:] даст '7d'.

- Используйте f'{125:x}' для малого регистра или f'{125:X}' для большого регистра, чтобы получить '7d' или '7D' соответственно.

- Преобразуйте обратно с помощью int('7d', 16), получив 125.

n = 125
print(hex(n)) # 0x7d
print(f'{n:x}') # 7d
print(f'{n:X}') # 7D
print(hex(n)[2:]) # 7d
print(int('7d', 16)) # 125



Не забудь поделиться этой шпаргалкой с друзьями 😼

Азим вкатывается в IT | itpy 💻
Наш второй канал по подготовке к ЕГЭ 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Снова попробовал создать видео через ИИ, кстати поддержите лайком на YouTube 📱

Собрал его сам, быстро, на коленке, так как просто было интересно проверить гипотезу. Получилось вполне сносно при условии, что я записал только «момент написания кода» и одно голосовое (себя я не снимал).

Если уделять этому время и делать нормальный монтаж, то результат может получаться очень даже хорошим! Намерен ещё экспериментировать 😼

Прошу оставить обратную связь, если это ОК контент и есть смысл дальше идти в эту сторону 👍 ❤️‍🔥

И 🤔, если сомнительная идея.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13👍4🤔3
Друзья, хочу снова попросить вас поучаствовать в опросах. Надеюсь, вы отнесетесь к этому с пониманием 🙏 Кстати, как вы в целом относитесь к опросам?
Anonymous Poll
56%
Положительно
43%
Почему бы и не поучаствовать, мне не сложно
2%
Надоели уже эти опросы..
3
Было бы вам интересно готовиться со мной к ЕГЭ в формате вебинаров?

Ниже постараюсь записать голосовое по этому поводу и хотелось бы (ооооочень сильно) получить обратную связь от вас 🙏
Anonymous Poll
55%
Да, давно слежу за каналом и хотел бы попробовать
16%
Так как мне уже не актуально, то я мимо, но изначально хотел бы
6%
Нет, мне подготовка к ЕГЭ не актуальна
23%
Такой формат мне не подходит
🔥3
Информатика | Илья Андрианов | itpy 🧑‍💻
Было бы вам интересно готовиться со мной к ЕГЭ в формате вебинаров?

Ниже постараюсь записать голосовое по этому поводу и хотелось бы (ооооочень сильно) получить обратную связь от вас 🙏
👋 Хочу поделиться своими соображениями по поводу организации вебинаров.

Основное ограничение для меня — это компьютер. Хотя у меня есть MacBook, которым я полностью доволен и с которым нет проблем при проведении обычных уроков, для создания качественного видеоконтента и записи вебинаров мне нужен более производительный компьютер. Я решил начать собирать такой компьютер, чтобы повысить качество материалов.

В связи с этим планирую запустить предзапись курса подготовки к ЕГЭ через вебинары. Старт планируется на середину января с последующим полугодовым периодом активной подготовки.

❗️Хотелось бы узнать ваше мнение:
- Насколько вас заинтересует подобный курс?
- Какую стоимость вы считаете приемлемой?
- Будет ли для вас полезен такой формат контента?

Ваши отзывы и предложения помогут мне создать максимально эффективный и полезный курс 🤏
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 45258 #reshu по информатике #ЕГЭ24
Автор: Решу ЕГЭ
Уровень: Базовый


🚩 Условие задачи:
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.


🚩 Теоретическая справка:
Этот номер очень удобно решается через замену всех "лишних" элементов.


👩‍💻 Код решения:
s = open('files/24.txt').readline()
s = s.replace('AB', '*').replace('CB', '+')

for x in 'ABC':
s = s.replace(x, ' ')

print(max([len(x) for x in s.split()]))
print(len(max(s.split(), key=len)))

# Ответ: 65


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

1⃣ s = open('files/24.txt').readline()
- Открывает файл с именем 'files/24.txt' и читает первую строку из этого файла, затем сохраняет её в переменную s.


2⃣ s = s.replace('AB', '*').replace('CB', '+')
- Заменяет все вхождения 'AB' в строке Услона символ '*', затем заменяет все вхождения 'CB' на символ '+'.


3⃣ for x in 'ABC':
- Инициализирует цикл, который будет последовательно проходить через каждую букву в строке 'ABC'.


4⃣ s = s.replace(x, ' ')
- Для каждой буквы x в строке 'ABC', заменяет все её вхождения в строкеЭ24
Ана пробелы.


5⃣ print(max([len(x) for x in s.split()]))
- Разделяет строку s на части (слова), используя пробелы как разделители, затем вычисляет длину каждой части и выводит максимальную из них.


6⃣ print(len(max(s.split(), key=len)))
- Так же, как предыдущая строка, разделяет строку s на части (слова), используя пробелы в качестве разделителей, и затем находит и выводит длину самой длинной части в строке.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач😼
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11🔥4👍3
1⃣3⃣ Шпаргалка для номера #ЕГЭ13
#реклама

Собрали все полезные функции из библиотеки ipaddress для нового 13 номера ЕГЭ по информатике. В меню навигации ты найдешь шпаргалки по остальным номерам!

🚩 Подключаем библиотеку:
from ipaddress import *


🚩 Функция для создания объекта сети:
net = ip_network('адрес сети/маска')


🚩 Получение маски сети:
net.netmask


🚩 Цикл для перебора значений маски:
for mask in range(33):
net = ip_network(f'адрес узла/{mask}', 0)


🚩 Цикл для перебора IP-адресов в сети:
for ip in net: 


🚩 Представление IP-адреса в двоичном виде:
ip_b = f'{ip:b}'


Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥116🔥44
Уважаемые студенты, ваше мнение важно для меня! Помогите выбрать номер следующей шпаргалки, которую нужно освежить.
Anonymous Poll
41%
14
57%
15
40%
16
49%
17
9%
Своими вариантами делитесь в комментариях 😼
Хочу провести бесплатный вебинар, чтобы протестировать свой интернет (недавно подключил второго провайдера).

Трансляция будет проходить в Telegram в следующее воскресенье. Помогите, пожалуйста, определиться с темой:
Anonymous Poll
21%
5, 14 номера - работа с системами счисления
18%
8 номер - комбинаторика через itertools
16%
Пробежаться по всем библиотечкам, которые используются на экзамене
12%
Поговорить про Python, основные моменты, которые нужны для экзамена
34%
Теория игр - три халявных балла, решение через Excel (таблицы).
3
Вчера я ходил подавать документы для сдачи ЕГЭ. Решил в этом году поддержать своих студентов и тоже сдать инфу 🙂

Так вот там мне в руки попалась интересная бумажка с предварительным расписанием экзаменов. Это еще не окончательное расписание, но дает общее представление. Точное расписание, возможно, будет опубликовано ближе к апрелю.

Пользуясь случаем оставляю форму, где вы можете задать свой анонимный вопрос касаемо проведения экзаменов 👾

Информатика ЕГЭ | itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍9🔥5
‼️Важный вопрос, будем делать розыгрыш на 1000 подписчиков!? 🙂
Anonymous Poll
86%
Да
14%
Нет
31054