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

По рекламе можно писать сюда: @igadz_iga
Download Telegram
🚀 Можно ли использовать 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, сообщая, что элемент не найден.


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11🔥1
📎Объединение итерируемых объектов с помощью itertools.chain #tpy

Когда у тебя есть несколько списков, кортежей или других итерируемых объектов, и нужно пройти по ним, будто это один большой список — itertools.chain делает это просто и эффективно, без создания дополнительных промежуточных структур.

↗️ Почему это круто?
itertools.chain позволяет объединять итерируемые объекты "на лету", экономя память и ускоряя обработку больших наборов данных. Особенно полезно, когда работаешь с объемными файлами или потоками данных.


Пример использования:
import itertools

list1 = [1, 2, 3]
list2 = ('a', 'b', 'c')
list3 = range(10, 13)

# Объединяем без создания новых списков
for item in itertools.chain(list1, list2, list3):
print(item, end=' ')


🪄Вывод:
1 2 3 a b c 10 11 12


Теперь ты можешь обходить все эти коллекции как один поток, не тратя лишнюю память 🚀

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥1
📎Что такое 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
❤‍🔥2👍1🔥1
📱 Что такое замыкание в 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
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
🔥2👍1
🚀 Почему нельзя использовать 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