Программирование на Python | itpy 💻
665 subscribers
8 photos
2 videos
47 links
Канал по подготовке к ЕГЭ: t.me/informatika_kege_itpy

По рекламе можно писать сюда: @igadz_iga
Download Telegram
🚀 Почему нельзя использовать is для сравнения строк и чисел в Python? #tpy

💻 is - это оператор идентичности, он проверяет, ссылаются ли переменные на один и тот же объект в памяти. А == - оператор равенства, сравнивает значения.

🔍 Для небольших чисел и коротких строк Python часто использует кэш, поэтому is может иногда возвращать True.
Но для больших чисел или длинных строк это не гарантировано - объекты могут быть разными.


Пример с кодом:
a = 256
b = 256
print(a is b) # True (кэш)

x = "hello"
y = "hello"
print(x is y) # True (кэш)

a = 1000
b = 1000
print(a is b) # False (разные объекты)


⚠️ Используйте == для сравнения значений, is - только чтобы проверить, ссылаются ли переменные на один объект!

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🫡1
📎 Что такое файл .env, и зачем он нужен? #tpy

Если вы когда-либо работали с проектами на Python, Node.js или других языках, то, скорее всего, сталкивались с файлами .env. Но что они из себя представляют?

Файл .env - это секретный шкафчик для хранения переменных окружения!
В нем хранятся важные настройки: ключи API, пароли, настройки базы данных и другие конфиденциальные данные.


🔒 Почему это удобно?
- Безопасность: секретные данные не хранятся прямо в коде, их легко исключить из системы контроля версий.
- Гибкость: можно легко менять настройки между разными окружениями - тестовым, продакшеном и локальной разработкой.
- Удобство: все важные переменные сосредоточены в одном месте, их легко найти и обновить.


🚀 .env - это безопасный способ хранения конфиденциальной информации, если он используется локально и не попадает в публичные источники.
⚠️ Ведь его публичное размещение - серьёзная уязвимость!


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍1🔥1
📂 Как открывать файлы в Python на ЕГЭ? #tpy
Примеры кодов для задач 9, 17, 24, 26, 27 из ЕГЭ:


0⃣
for M in open('9.txt'):
M = [int(i) for i in M.split()]
print(M)

▶️ Читаем файл построчно, каждую строку разбиваем на числа и сразу печатаем.


1⃣7⃣
M = [int(i) for i in open('17.txt')]
print(M)

▶️ Читаем все строки файла и превращаем в список чисел.


2⃣4⃣
s = open('24.txt').readline()

Считываем только первую строку файла.


2⃣6⃣
ans = []
for M in open('26.txt'):
M = [int(i) for i in M.split()]
ans.append(M)

Сохраняем каждую строку как список чисел, а потом собираем всё в общий список.


2⃣7⃣
f = open('27.А.txt').readlines()[1:]
for M in f:
M = [float(i.replace(',','.')) for i in M.split()]
x, y = M[0], M[1]
print(x, y)

▶️ Пропускаем первую строку, заменяем запятые на точки и превращаем в числа с плавающей точкой.


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2🫡2
🚀 Типы данных в Python, которые считаются структурами данных #tpy

🔍- Это те типы, которые позволяют хранить и организовывать коллекции элементов.

👩‍💻 Основные структуры данных в Python:
📎 list - это изменяемый упорядоченный список. Можно добавлять, удалять, менять элементы. Например:
fruits = ['яблоко', 'банан', 'апельсин'] 📎

📎 tuple - неизменяемая последовательность. Отлично подходит, когда нужно зафиксировать набор данных:
coordinates = (10, 20) 📎

📎 set - множество уникальных элементов. Быстро искать, удалять дубликаты:
unique_numbers = {1, 2, 3} 📎

📎 dict - словарь, отображение ключей на значения. Очень удобно для хранения пар "ключ-значение":
person = {'имя': 'Анна', 'возраст': 25} 📎

❄️ frozenset - неизменяемое множество, его нельзя менять после создания. Используется там, где нужен "жёсткий" набор данных. frozenset([1, 2, 3, 4]) ➡️ frozenset({1, 2, 3, 4})

🔼🔽 deque - двусторонняя очередь из модуля collections. Быстро добавлять и удалять элементы с обоих концов:
from collections import deque ⚙️ d = deque() - инициализировать элементами из любого итерируемого объекта (список, кортеж и т. д.).


Технологии телеграмма не стоят на месте, поэтому обращаю ваше внимание, что мы часто используем инструмент "цитата". Кликайте на цитату выше, чтобы открыть текст для чтения 👆

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤‍🔥1
👩‍💻 Генераторы списков в Python #tpy

Это обычный способ создания списков через цикл for, но более лаконичный и читаемый.

🟣Обычный способ:
res = []
for i in range(10):
if i % 2 == 0:
res.append(i ** 2)
print(res) # [0, 4, 16, 36, 64]


🟣Через генератором списков:
res = [i ** 2 for i in range(10) if i % 2 == 0]
print(res) # [0, 4, 16, 36, 64]



📌 Синтаксис:
[выражение for переменная in последовательность if условие]


💬 Читается как:
«Добавь выражение в список для каждого элемента, если выполняется условие»



🚩 Примеры для ЕГЭ:

🟣Все нечётные числа от 1 до 20:
[x for x in range(1, 21) if x % 2 != 0]


🟣Строки в верхнем регистре:
[s.upper() for s in ['питон', 'егэ', 'код']]


🟣Цифры от 0 до 9, кроме 3 и 7:
[x for x in range(10) if x not in (3, 7)]



💭 Когда использовать?

🕓для компактного создания списков
🕓когда нужна фильтрация (if)
🕓при преобразовании значений

💡 Важно: генераторы не заменяют циклы везде. Но для быстрого и чистого кода они очень полезны.


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🔥3👍1
📂 Как открывать файлы в Python? #tpy
Примеры кодов для задач 9, 17, 24, 26, 27 из ЕГЭ:


0⃣
for M in open('test.txt'):
M = [int(i) for i in M.split()]
print(M)

▶️ Читаем файл построчно, каждую строку разбиваем на числа и сразу печатаем.


1⃣7⃣
M = [int(i) for i in open('test.txt')]
print(M)

▶️ Читаем все строки файла и превращаем в список чисел.


2⃣4⃣
s = open('test.txt').readline()

▶️ Считываем только первую строку файла.


2⃣6⃣
ans = []
for M in open('test.txt'):
M = [int(i) for i in M.split()]
ans.append(M)

▶️ Сохраняем каждую строку как список чисел, а потом собираем всё в общий список.


2⃣7⃣
f = open('test.txt').readlines()[1:]
for M in f:
M = [float(i.replace(',','.')) for i in M.split()]
x, y = M[0], M[1]
print(x, y)

▶️ Пропускаем первую строку, заменяем запятые на точки и превращаем в числа с плавающей точкой.


#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥2
👩‍💻 Использования f-строк в python #tpy

Если раньше для подстановки переменных в строку мы писали:
"Привет, {}!".format(name)

то теперь с f-строками можно проще:
name = "Андрей"
print(f"Привет, {name}!") # Привет, Андрей!



🚩 Почему f-строки удобны:
🕓 Код становится короче.
🕓 Сразу видно, какие переменные подставляются.
🕓 Можно вставлять даже выражения:
a = 5
b = 3
print(f"{a} + {b} = {a + b}") # 5 + 3 = 8


👩‍💻 Пример:
user = "Андрей"
action = "покупка"

log = f"Пользователь {user} зашел на сайт и выполнил действие: {action}"
print(log) # Пользователь Андрей зашел на сайт и выполнил действие: покупка


💡 Запомни:
Чтобы использовать f-строку, ставь f перед кавычками и указывай переменные в {}.

#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2❤‍🔥1🥰1
📎 Методы строк в Python! #tpy

🚘 Умение работать со строками пригодится вам при решении задач под номерами - 12, 24


📱 Топ-20 методов, которые помогут быть очень полезны:

1️⃣ upper() - переводит строку в верхний регистр.
"hello".upper() → "HELLO"

2️⃣ lower() - переводит строку в нижний регистр.
"HELLO".lower() → "hello"

3️⃣ capitalize() - делает первую букву заглавной.
"hello".capitalize() → "Hello"

4️⃣ title() - каждое слово с заглавной буквы.
"hello world".title() → "Hello World"

5️⃣ strip() - удаляет пробелы с обоих концов.
"hello".strip() → "hello"

6️⃣ lstrip() / rstrip() - удаляет пробелы слева/справа.

7️⃣ replace(old, new) - заменяет подстроку.
"abc".replace("a", "x") → "xbc"

8️⃣ split(sep) - разбивает строку по разделителю.
"a,b,c".split(",") → ["a", "b", "c"]

0⃣ join(list) - собирает строку из списка.
",".join(["a", "b", "c"]) → "a,b,c"

🔟 startswith(str) / endswith(str) - проверяет начало/конец строки.
"hello".startswith("he") → True

1️⃣1️⃣ find(sub) - ищет подстроку и возвращает индекс.
"hello".find("ll") → 2

1️⃣2️⃣ count(sub) - считает количество вхождений.
"hello".count("l") → 2

1️⃣3️⃣ isdigit() - проверяет, состоит ли строка из цифр.
"123".isdigit() → True

1️⃣4️⃣ isalpha() - проверяет, только ли буквы.
"abc".isalpha() → True

1️⃣5️⃣ isalnum() - буквы или цифры без пробелов.
"a1".isalnum() → True

1️⃣6️⃣ islower() / isupper() - проверяет регистр.

1️⃣7️⃣ zfill(width) - дополняет нулями слева.
"7".zfill(3) → "007"

1️⃣8️⃣ format() - подставляет значения в строку.
"{}".format(5) → "5"

1️⃣0⃣ f-строки (Python 3.6+) - удобный формат.
f"{5}" → "5"

2️⃣0️⃣ in – проверка наличия подстроки.
"a" in "abc" → True


#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥2🤩1
👩‍💻 Повторяем срезы в Python #tpy

Срезы (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] (каждый второй элемент)


🚩Как запомнить?
🟠 ЛЕВАЯ граница включается, ПРАВАЯ не включается.
🟠 Откуда : докуда : шаг.
🟠 шаг = -1 — идёшь в обратную сторону.
🟠Работает с списками, строками, кортежами

📙Где встречаются срезы на ЕГЭ/ОГЭ по информатике:
🚩 Номер 5 — работа с массивами (списки, строки).
🚩 Номер 8 — работа с текстовыми данными.
🚩 Номер 9 — анализ и обработка данных, перебор подстрок.
а также 13, 14, 17 и других номерах

#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥2
📱 Конструкция 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() — ваш быстрый помощник, но применять его нужно с осторожностью!


#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
☄️ Сравнение строк в Python #tpy
В Python строки сравниваются лексикографически (по алфавиту), символ за символом, слева направо, пока не найдётся различие.


📌 Базовые правила:
print("abc" < "abd")    # True - 'c' < 'd'
print("apple" < "banana") # True - 'a' < 'b'
print("abc" < "abcd") # True - вторая строка длиннее при одинаковом начале


🔤 Регистр имеет значение:
print("A" < "a")        # True - заглавные буквы идут перед строчными
print("Python" < "python") # True


0️⃣ Сравнение с числами:
# print("10" < 5)       # ОШИБКА TypeError - нельзя сравнивать строку с числом
print("10" < "5") # True - сравнивается первый символ '1' < '5'


📖 Порядок символов основан на Unicode:
print("ё" > "е")        # True - буква 'ё' в Unicode идёт после 'е'
print("💻" > "A") # True - эмодзи имеют большие коды


🛁 Длина тоже учитывается:
print("abc" == "abc")   # True - полное совпадение
print("abc" < "abcd") # True - одинаковое начало, но вторая длиннее


🛁 Для сравнения без учёта регистра:
print("Python".lower() == "python".lower())  # True

📎 Важно: == проверяет точное равенство, а <, >, <=, >= работают по алфавитному порядку.


#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2👍1
🚀 Почему range(10**9) почти не занимает памяти? #tpy

Многие думают, что создание очень большого диапазона - это много памяти. Но в Python всё иначе! 👩‍💻

🔍 range() хранит только начальное, конечное значения и шаг.
Он не создает список всех чисел сразу, а генерирует числа по мере необходимости!

💻 При вызове range(10**9) в памяти хранится лишь небольшая информация:
- старт (по умолчанию 0)
- финиш (10^9)
- шаг (по умолчанию 1)

А это ведь совсем немного данных!

#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥2🥰1
🚀 Можно ли использовать 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, сообщая, что элемент не найден.



#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2💘2😍1
📎 Разница между pass, continue и break #tpy
pass -- Используется, когда синтаксически нужен код, но логика пока не написана, применяется как временная заглушка.

continue -- пропускает остаток текущей итерации цикла и переходит к следующей.

break -- полностью завершает выполнение цикла.

for i in range(5):
if i == 2:
pass # ничего
if i == 3:
continue # пропускаем i = 3
if i == 4:
break # выходим из цикла
print(i)
# Вывод: 0 1 2


#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2🤝2
Большая подборка сервисов на базе искусственного интеллекта #useful
По свежей статистике - больше половины пользователей в СНГ уже так или иначе используют нейросети: кто-то делает с их помощью учёбу, кто-то генерит мемы и ничего больше..

Сервисы которые возьмут на себя рутину учёбы и работы: от домашних заданий, рефератов и презентаций до отчётов, конспектов и даже дипломных проектов 👨‍💻

🔠Claude — создание текстов и ответов, анализ информации;
🔠Perplexity AI — поиск и суммаризация информации, ответы;
🔠Gamma / Tome — генерация презентаций и отчетов;
🔠MindMap AI — создание интеллектуальных карт и идей;
🔠PDF.ai — анализ PDF, извлечение информации, ответы;
🔠ChatPDF — чат с PDF-документами, понимание текста;
🔠QuillBot — перефразирование текстов, упрощение предложений;
🔠Grammarly — проверка орфографии, грамматики, стиля;
🔠LanguageTool — многоязычная проверка орфографии;
🔠WordyBot — генерация учебных и академических текстов с ссылками;
🔠Notion AI — организация заметок, автоматизация текста;
🔠StudyflowAI — помощь с домашкой, разбор вопросов, структурирование;
🔠Explainpaper — объяснение сложных научных статей;
🔠Study24.ai — создание шпаргалок и конспектов;
🔠TutorAI / TuranAI — виртуальный репетитор, подготовка;
🔠School Assistant AI — генерация учебных материалов;
🔠Wisdolia — создание карточек для запоминания;
🔠Slides AI — автоматическая генерация презентаций;
🔠Canva Magic Studio — визуальный контент, презентации и дизайн;
🔠Scribbr — проверка уникальности и плагиата;
🔠ReText — генерация академических текстов;
🔠RoboGPT — генерация дипломных и курсовых работ;
🔠Chad AI — генерация учебных материалов, эссе;
🔠CopyMonkey — генерация текстов и отчетов;
🔠NeuroTexter — создание академических текстов;
🔠Davinchi — бесплатная генерация дипломных работ;
🔠GigaChat – формирует структурированные научные тексты;
🔠AiWriteArt – генерация и редактирование текстов;
🔠Zaochnik GPT – создание дипломов и отчетов;
🔠StudyAI — помощь с домашними заданиями;
🔠EssayBot — автоматическая генерация эссе на английском;
🔠NeuralText — генерация текстов, идей и контента для учебы и проектов;
🔠texthandler — быстрое форматирование текста;
🔠Nana Banana — продвинутый генератор и редактор изображений.


❤‍🔥 да, регулярно - это часть работы/учёбы
🔥 нет, вообще не пользуюсь
👍 редко, больше экспериментирую

#⃣ Вся теория для ЕГЭ в одном месте
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2🤩1
☄️ Конфликт имён при использовании import * #tpy

Иногда при решении задач ЕГЭ (например 8 номера) учащиеся подключают модули с помощью записи:
from itertools import *

⚠️ Однако это может привести к конфликту имён и ошибкам в программе!


📎 Рассмотрим пример:
count = 0
from itertools import *
for p in permutations('abc'):
count += 1
print(count, p)

💻 Результат:
TypeError: unsupported operand type(s) for +=: 'type' and 'int'


👀 Почему же так получается?
⚙️ Причина в том, что в модуле itertools уже существует объект с именем count, и при импорте через * он перезаписывает нашу переменную count.
В итоге переменная становится функцией, и операция += 1 вызывает ошибку.


✔️ Как рекомендуется делать, чтобы такого не происходило:
count = 0
from itertools import permutations

for p in permutations('abc'):
count += 1
print(count, p)


💻 Вывод программы:
1 ('a', 'b', 'c')
2 ('a', 'c', 'b')
3 ('b', 'a', 'c')
4 ('b', 'c', 'a')
5 ('c', 'a', 'b')
6 ('c', 'b', 'a')

🙂 теперь конфликт имен не возникает, так как мы импортировали, только то, что нам нужно, и count - это все так же наша переменная.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2🥰1
🔥 Полезные функции в одну строчку для ЕГЭ по информатике #tpy
Они очень сильно экономят место и время


🛁 Проверка числа на простоту
def is_prime(n):
return n > 1 and all(n % i for i in range(2, int(n**0.5)+1))


🛁 Нахождение центроида (задача 27)
def centr(x): 
return min((sum(dist(p,k) for k in x), p) for p in x)[1]

Функция dist() определяется в зависимости от условия задачи


🛁 Получение всех делителей числа
def divisors(n):
return {x for d in range(2, int(n**0.5)+1) if n%d==0 for x in (d, n//d)}


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

В Python целые числа ( int ) и числа с плавающей точкой ( float ) обычно сравниваются интуитивно -- 5 == 5.0 возвращает True. 👍
Но иногда могут возникнуть неожиданные результаты из-за особенностей представления чисел с плавающей точкой по стандарту IEEE-754.


🔝 Пример безопасного сравнения
print(10 == 10.0)   # True
print(3 + 0.1 == 3.1) # True


☄️ Когда стоит быть осторожным
print(0.1 + 0.2 == 0.3)  # False

Причина в том, что float хранится в двоичной форме, и не все десятичные дроби можно точно представить.
Поэтому прямое сравнение иногда даёт неожиданный результат.

💼 Поэтому для проверки равенства чисел с плавающей точкой лучше использовать пороговую погрешность:
import math
math.isclose(0.1 + 0.2, 0.3) # True

Подробнее о нюансах сравнения int и float можно прочитать здесь

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤩3🥰1
⚙️ Функции all() и any() -- как они работают на практике #tpy

➡️ all()
Возвращает True только если все элементы коллекции оцениваются как True (или если коллекция пустая).

# Пример с числами
numbers = [2, 4, 6, 8]
result = all(x % 2 == 0 for x in numbers) # Проверяем, все ли чётные
print(result) # True ✔️

numbers = [2, 4, 5, 8]
result = all(x % 2 == 0 for x in numbers)
print(result) # False (5 нечётное)


➡️ any()
Возвращает True если хотя бы один элемент коллекции True.

# Пример с поиском положительных чисел
values = [-5, -2, 0, 3, -1]
result = any(x > 0 for x in values) # Есть ли хотя бы одно положительное?
print(result) # True ✔️ (3 > 0)

values = [-5, -2, -1, 0]
result = any(x > 0 for x in values)
print(result) # False (все неположительные)


🛁 Ключевое отличие:
- all() -- как логическое И ( and ) для всех элементов
- any() -- как логическое ИЛИ ( or ) для всех элементов

📎 Важно: обе функции работают с генераторами и не вычисляют все значения, если результат уже ясен:

- all() остановится на первом False
- any() остановится на первом True

# all() остановится на 0 (False)
all([1, 2, 0, 4, 5]) # False

# any() остановится на 3 (True)
any([0, False, 3, 0, 0]) # True


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🫡3🔥21🤩1
📎 PEP -- что это и зачем нужно #tpy

PEP (Python Enhancement Proposal) -- те документы, в которых описываются:
• Новые функции языка
• Изменения стандартной библиотеки
• Концепции и соглашения сообщества

🚀 Развитие Python происходит через PEP. Любой участник сообщества может предложить новый PEP, но он проходит обсуждение перед принятием.

Каждый PEP имеет уникальный номер, который не меняется.

Основные PEP:
PEP 0 -- индекс всех предложений
PEP 8 -- стиль написания кода
Изучение PEP помогает понимать развитие языка и писать качественный код.


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