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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
🔗 Всем поступающим в IT вузы посвящается!

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
16542
Пришли результаты по русскому языку и математике. Проверяйте информацию на Госуслугах или региональных сайтах💡
Please open Telegram to view this post
VIEW IN TELEGRAM
64
Вижу много запросов, связанных с подготовкой к пересдаче (на Авито, Профи).

В связи с этим у меня возник вопрос: Если вам предстоит пересдача, то какой предмет вы планируете выбрать? 🤔
Anonymous Poll
36%
Информатика👨‍💻
20%
Математика 👨‍🏫
10%
Русский 👩‍⚕️
0%
Любой другой.. 😼
34%
Не планирую, пора отдыхать 😎
📱 Итератор среза с помощью itertools.islice в Python #tpy

Hе секрет, что в Python существует множество инструментов для работы с итераторами и последовательностями.

Один из таких инструментов - метод itertools.islice, который позволяет создавать объект islice для получения среза элементов из итератора.

Вот пример использования itertools.islice:
import itertools

s = itertools.islice(range(50), 10, 20)
for val in s:
  print(val)


При выполнении этого кода мы создаем объект s, который представляет собой срез элементов от индекса 10 до индекса 20 в итерируемом объекте range(50). При итерации по объекту s будут выводиться элементы с индексами от 10 до 19 (исключительно).

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
965
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 17521 #kege по информатике #ЕГЭ8
Автор: Основная волна 07.06.24
Уровень: Базовый


🚩 Условие задачи:
Определите количество восьмеричных пятизначных чисел, которые не начинаются с нечётных цифр, не оканчиваются цифрами 2 или 6, а также содержат не более двух цифр 7.


🚩 Теоретическая справка:
На kompege.ru появился вариант с заданиями к ЕГЭ 2024, ссылка тут.

В комментариях оставлю решение через цикл for.


👩‍💻 Код решения:
from itertools import *
cnt = 0
for per in product('01234567', repeat=5):
num = ''.join(per)
if num[0] != '0' and num[0] not in '1357':
if num[-1] not in '26' and num.count('7') <= 2:
cnt += 1
print(cnt)

# Ответ: 9135


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

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


2⃣ cnt = 0
Инициализация переменной cnt с начальным значением 0 для подсчета подходящих чисел.


3⃣ for per in product('01234567', repeat=5):
Цикл for, который перебирает все возможные 5-значные комбинации из цифр '01234567' (с повторениями) с помощью функции product.


4⃣ num = ''.join(per)
Преобразование кортежа per в строку num, объединив все цифры.


5⃣ if num[0] != '0' and num[0] not in '1357':
Проверка условия: первая цифра числа не равна '0' и не принадлежит множеству '1357'.


6⃣ if num[-1] not in '26' and num.count('7') <= 2:
Дополнительная проверка: последняя цифра числа не принадлежит множеству '26' и количество цифр '7' в числе не превышает 2.


7⃣ cnt += 1
Увеличение счетчика cnt на 1 при выполнении всех условий.


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


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
7431
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 17522 #kege по информатике #ЕГЭ9
Автор: Основная волна 07.06.24
Уровень: Базовый


🚩 Условие задачи:
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– наибольшее из четырёх чисел меньше суммы трёх других;
– среди четырёх чисел есть только одна пара равных чисел.


🚩 Теоретическая справка:
На kompege.ru появился вариант с заданиями к ЕГЭ 2024, ссылка тут.


👩‍💻 Код решения:
cnt = 0
for s in open('9.csv'):
M = sorted([int(x) for x in s.split(';')])
if M[-1] < sum(M[:3]):
if len(set(M)) == 3:
cnt += 1
print(cnt)

# Ответ: 147


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

1⃣ cnt = 0
Инициализация переменной cnt с начальным значением 0 для подсчёта подходящих ситуаций.


2⃣ for s in open('9.csv'):
Цикл for, который проходит по каждой строке в файле '9.csv'.


3⃣ M = sorted([int(x) for x in s.split(';')])
Создание списка M из целочисленных значений, полученных путём разделения строки s по символу ';' и последующей сортировки этих чисел.


4⃣ if M[-1] < sum(M[:3]):
Проверка условия: если наибольшее из четырёх чисел меньше суммы трёх других чисел.


5⃣ if len(set(M)) == 3:
Проверка условия: если количество уникальных элементов в списке M равно 3, что означает, что есть только одна пара равных чисел.


6⃣ cnt += 1
Увеличение счётчика cnt на 1, если обе проверки выше выполняются.


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


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
855
👩‍💻 Полезные функции модуля math для подготовки к ЕГЭ: изучаем sqrt, prod, ceil, floor, factorial

math - это встроенный модуль в Python, который предоставляет доступ к математическим функциям и константам. Этот модуль позволяет выполнять различные математические операции, такие как вычисление квадратных корней, тригонометрические функции, логарифмы, степени, округления чисел и многое другое.

🚩sqrt(x)
Возвращает квадратный корень числа x:

import math

result = math.sqrt(25)
print(result) # Вывод: 5.0



🚩 prod(iterable)
Возвращает произведение всех элементов итерируемого объекта:
import math

numbers = [1, 2, 3, 4, 5]
result = math.prod(numbers)
print(result) # Вывод: 120 (произведение 1 * 2 * 3 * 4 * 5)



🚩ceil(x)
Возвращает наименьшее целое число, которое больше или равно x:
import math

result = math.ceil(3.14)
print(result) # Вывод: 4



🚩floor(x)
Возвращает наибольшее целое число, которое меньше или равно x:
import math

result = math.floor(3.14)
print(result) # Вывод: 3



🚩factorial(x)
Возвращает факториал числа x:
import math

result = math.factorial(5)
print(result) # Вывод: 120 (факториал числа 5)



Кстати, вместо import math можно написать import math as m , что позволит обращаться к модулю через переменную m (или любую другую, на ваш выбор). Это удобно для сокращения кода и повышения его читаемости.

Информатика ЕГЭ | itpy 👨‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
954
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Строки (str) в Python: основы работы и применение #tpy

Строки представляют собой последовательность символов, заключенных в кавычки. Они являются одним из базовых типов данных и используются для хранения и манипуляции текстовой информацией.


🔍Что можно делать со строками в Python?

1. Сравнение строк: Строки могут сравниваться между собой для определения равенства или порядка по алфавиту.

2. Конкатенация строк: С помощью оператора + можно объединять строки в одну.

3. Изменение строк: Строки в Python являются неизменяемыми, но можно создавать новые строки на основе существующих.

4. Поиск подстроки: Методы строк позволяют находить подстроки в других строках и многое другое.


📌 Примеры работы со строками:
str1 = "Hello"
str2 = "World"

# Конкатенация
result = str1 + " " + str2
print(result)

# Сравнение строк
if str1 == "Hello":
print("str1 равно Hello")

# Поиск подстроки
if "lo" in str1:
print("lo найдено в str1")



📚 Хотите узнать больше об операциях со строками в Python? Посетите нашу статью на Notion, в которой вы найдете подробные объяснения и примеры использования строк в Python.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
754
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 17557 #kege по информатике #ЕГЭ16
Автор: Основная волна 08.06.24
Уровень: Базовый


🚩 Условие задачи:
Алгоритм вычисления значения функции
F(n), где n – натуральное число, задан следующими соотношениями:
F(n)=1 при n=1;
F(n)=2×n×F(n–1), если n>1.
Чему равно значение выражения (F(2024)/16−F(2023))/F(2022)?


🚩 Теоретическая справка:
В этом номере на ЕГЭ 2024 попадалась ошибка: "OverflowError: integer division result too large for a float", исправить её можно было заменой действий "/" на "//".


👩‍💻 Код решения:
import sys
sys.setrecursionlimit(10000)

def F(n):
if n == 1:
return 1
if n > 1:
return 2 * n * F(n-1)

print((F(2024) // 16 - F(2023)) / F(2022))

# Ответ: 1019592


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

1⃣ import sys
Импорт модуля sys, который обеспечивает доступ к некоторым переменным и функциям, относящимся к Python и его среде.


2⃣ sys.setrecursionlimit(10000)
Установка максимальной глубины рекурсии в 10000 для данной программы. Это предотвращает ошибку "RecursionError: maximum recursion depth exceeded", которая может возникнуть при слишком глубокой рекурсии.


3⃣ def F(n):
Определение функции F с аргументом n.


4⃣ if n == 1:
Условие проверки, равно ли значение n единице.


5⃣ return 1
Возвращение значения 1, если условие n == 1 истинно.


6⃣ if n > 1:
Условие проверки, больше ли значение n единицы.


7⃣ return 2 * n * F(n-1)
Рекурсивный вызов функции F с аргументом n-1 в случае, если n > 1. Функция возвращает удвоенное произведение n на результат вызова F(n-1).


8⃣ print((F(2024) // 16 - F(2023)) / F(2022))
Вызов функций F с аргументами 2024, 2023, и 2022, выполнение арифметических операций и вывод результата выражения.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
764
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 17555 #kege по информатике #ЕГЭ14
Автор: Основная волна 08.06.24
Уровень: Базовый


🚩 Условие задачи:
Значение арифметического выражения 7**91 + 7**160 – х, где х – целое положительное число, не превышающее 2030, записали в 7-ричной системе счисления. Определите наибольшее значение х, при котором в 7-ричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 70 нулей.


👩‍💻 Код решения:
for x in range(2030+1):
n = 7**91 + 7**160 - x
M = []
while n > 0:
M.append(n % 7)
n //= 7
M.reverse()
if M.count(0) == 70:
print(x)

# Ответ: 2029


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

1⃣ for x in range(2030+1):
Цикл for, который перебирает числа от 0 до 2030 включительно и присваивает каждое число переменной x.


2⃣ n = 7**91 + 7**160 - x
Вычисление значения переменной n как суммы двух степеней числа 7 и значения x.


3⃣ M = []
Инициализация списка M, который будет содержать цифры полученного числа n в семеричной системе счисления.


4⃣ while n > 0:
Цикл while, который будет выполняться, пока значение n больше нуля.


5⃣ M.append(n % 7)
Добавление остатка от деления текущего значения n на 7 в список M.


6⃣ n //= 7
Целочисленное деление n на 7 для перехода к следующей цифре в семеричной записи.


7⃣ M.reverse()
Разворот списка M, чтобы получить корректный порядок цифр числа в семеричной системе.


8⃣ if M.count(0) == 70:
Проверка, содержит ли список M ровно 70 нулей.


0⃣ print(x)
Вывод числа x, которое удовлетворяет условию с результатом семеричного представления числа n содержащего 70 нулей.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1064
Думаю результаты уже пришли всем, и только ленивый не успел обсудить их. Меня, всё равно, интересует, какие баллы получили мои подписчики!?

И что ещё более интересно, как вы готовились к экзамену? Какие курсы проходили? Какие советы можете дать другим?
Anonymous Poll
12%
0-40
22%
40-60
9%
60-70
21%
70-80
18%
80-90
7%
90-95
10%
95-100
Что выведет этот код? 🤔

1️⃣ [-3, -6, -9] 
2️⃣ [ ] 
3️⃣ [[1, 2, 3], [1, 2, 3], [1, 2, 3]] 

Информатика ЕГЭ | itpy 👨‍💻
Поддержать автора донатом 💵
853