Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K 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
🐍 Множества в Python #tpy 

Множества — это неупорядоченные коллекции уникальных элементов. Они полезны для хранения элементов без дублирования и для выполнения операций над множествами, таких как объединение, пересечение и разность. Давайте рассмотрим основы множеств в Python.


🚩 Создание множеств
# Создание пустого множества
my_set = set()

# Создание множества с элементами
my_set = {1, 2, 3, 4, 5}

# Пример множества со строками
fruits = {"apple", "banana", "cherry"}



🚩 Основные операции с множествами
# Добавление элемента в множество
my_set.add(6)
print(my_set) # {1, 2, 3, 4, 5, 6}

# Удаление элемента из множества
my_set.remove(3)
print(my_set) # {1, 2, 4, 5, 6}

# Проверка наличия элемента в множестве
print(4 in my_set) # True
print(10 in my_set) # False


Множества в Python — мощный инструмент для работы с уникальными данными и выполнения различных операций над ними.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом🍊
Please open Telegram to view this post
VIEW IN TELEGRAM
83332
📱 Основные операции с множествами в Python #tpy 

Множества в Python поддерживают множество операций, таких как объединение, пересечение, разность и симметрическая разность. Давайте рассмотрим их подробнее.

🚩 Объединение множеств
Объединение возвращает множество, содержащее все элементы обоих множеств.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set) # {1, 2, 3, 4, 5}



🚩 Пересечение множеств
Пересечение возвращает множество, содержащее только общие элементы обоих множеств.
intersection_set = set1.intersection(set2)
print(intersection_set) # {3}



🚩 Разность множеств
Разность возвращает множество, содержащее элементы, которые есть в первом множестве, но отсутствуют во втором.
difference_set = set1.difference(set2)
print(difference_set) # {1, 2}



🚩 Симметрическая разность множеств
Симметрическая разность возвращает множество, содержащее элементы, которые присутствуют в одном из множеств, но не в обоих.
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set) # {1, 2, 4, 5}


Эти операции помогают эффективно работать с множествами и управлять уникальными данными. 

Поддержать автора донатом 🍊
Please open Telegram to view this post
VIEW IN TELEGRAM
554
🔤🔤🔤🔤 🔤🔤🔤🔤🔤🔤🔤🔤🔤
Пару слов об авторе канала, давайте знакомиться!

#⃣ Полный список разборов в одном месте
#⃣ Шпаргалки по всем номерам ЕГЭ
#⃣ Вся теория для ЕГЭ в одном месте

📱 Теория: #tpy
📺 Видео: #view
💡 Полезное: #useful
🫰 Шпаргалки: #шпора
👨‍🏫 Про универы: #university

📚 Сборники:
#kege #yandex
#reshu #statgrad
#polyakov

📱 Наш YouTube канал
📱 Читайте ДЗЕН канал
📱 Наши Telegram каналы:

🚩 Подготовка к экзамену ЕГЭ:
Информатика ЕГЭ | itpy 👨‍💻

🚩 Здесь выкладываю теорию Python:
Программирование на Python | itpy 💻

🚩 Подготовка к экзамену ОГЭ:
Информатика ОГЭ | itpy 👨‍🏫

🚩 Честные обзоры на IT университеты:
Hey Student! 🎓


🔤🔤 🔤🔤🔤🔤🔤🔤🔤
😶 Автор канала: @ilandroxxy
Please open Telegram to view this post
VIEW IN TELEGRAM
45542
🚩 Шпаргалка про интересную функцию reversed() #tpy

Не забудь сохранить и отправить другу 🐾

Информатика ЕГЭ | itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
3763
🚩 Шпаргалка о способах подключения библиотек в Python #tpy

Кстати, статью с полезными библиотеками для ЕГЭ я уже публиковал. Оставлю ссылку на нее:
Список полезных библиотек для успешной сдачи ЕГЭ по информатике.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
28531
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Шпаргалка по генераторам списков #tpy

Потыкайте этот пример тут:
numbers = [3, 4, 2, 7, 2, 3, 8, 3, 1, 9]
A = [x**2 for x in numbers if x % 2 == 0]
print(A) # [16, 4, 4, 64]

B = [x**2 if x % 2 == 0 else x ** 3 for x in numbers]
print(B) # [27, 16, 4, 343, 4, 27, 64, 27, 1, 729]


Информатика ЕГЭ | itpy
👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
3954
📱 Давайте рассмотрим две полезные функции в Python: split() и join() #tpy
Функции split() и join() в Python являются мощными инструментами для работы со строками. split() позволяет разбивать строки на части, а join() — объединять их обратно. Поговорим о них подробнее 👇



🚩 Функция split()
Функция split() используется для разделения строки на части, создавая список. По умолчанию строка разбивается по пробелам, но вы также можете указать другой разделитель.
string.split(separator, maxsplit)

separator (необязательный) — строка-разделитель.
maxsplit (необязательный) — количество разделений, которое нужно выполнить.


Пример 1: Разделение по пробелам
text = "Привет, мир! Как дела?"
words = text.split() # Разделяем строку по пробелам
print(words) # Вывод: ['Привет,', 'мир!', 'Как', 'дела?']


Пример 2: Разделение по заданному разделителю
data = "яблоко;банан;груша"
fruits = data.split(';') # Разделяем строку по символу ";"
print(fruits) # Вывод: ['яблоко', 'банан', 'груша']



🚩 Функция join()
Функция join() объединяет элементы списка в строку, используя заданный разделитель.
separator.join(iterable)

separator — строка, которая будет использоваться в качестве разделителя.
iterable — любой объект, поддерживающий итерацию (как правило, это список или кортеж).


Пример 1: Объединение списка слов
words = ['Привет,', 'мир!', 'Как', 'дела?']
sentence = ' '.join(words) # Объединяем слова с пробелом
print(sentence) # Вывод: Привет, мир! Как дела?


Пример 2: Объединение списка с заданным разделителем
fruits = ['яблоко', 'банан', 'груша']
result = ', '.join(fruits) # Объединяем фрукты через запятую и пробел
print(result) # Вывод: яблоко, банан, груша



Азим вкатывается в IT | itpy 💻
Тут ответы на все вопросы 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
3953
📱 Способы подключения библиотек в Python #tpy

В Python существует несколько удобных способов подключения библиотек и модулей, что делает код более гибким и удобным для чтения. Давайте рассмотрим основные из них.


1⃣ Импортирование библиотеки целиком:
Самый базовый способ — это просто импортировать библиотеку с помощью команды import. Например, мы можем подключить стандартную библиотеку math, чтобы использовать ее функции:

import math  # Импортируем библиотеку math
print(math.sqrt(16)) # Вывод: 4.0

Этот метод требует, чтобы мы каждый раз указывали название библиотеки перед использованием ее функций, что может быть неудобно в больших проектах.



2⃣ Псевдонимы для библиотек:
Чтобы сделать код более кратким и читаемым, можно использовать псевдонимы. Это достигается с помощью ключевого слова as. Вот как это делается:

import math as m  # Импортируем библиотеку math с псевдонимом m
print(m.sqrt(16)) # Вывод: 4.0

Теперь мы можем обращаться к функциям библиотеки math через m, что упрощает написание кода.



3⃣ Импортирование конкретных функций:
Если вам нужны только несколько функции из библиотеки, вы можете импортировать их напрямую. Это не только делает код более аккуратным, но и может немного оптимизировать использование памяти:

from math import sqrt, pow, gcd  # Импортируем только нужные функции
print(sqrt(16)) # Вывод: 4.0

Таким образом, вы избегаете повторного указания названия библиотеки.



4⃣ Импортирование всех функций:
Если вам нужно использовать все функции из библиотеки, вы можете импортировать их с помощью *:

from math import *  # Импортируем все функции из библиотеки math
print(sqrt(16)) # Вывод: 4.0

Этот способ также не требует указания имени библиотеки, однако он может сделать код менее очевидным и могут возникнуть конфликты имен с другими библиотеками/фунциями.



Азим вкатывается в IT | itpy 💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤‍🔥10👍5🔥3
👩‍💻 Несколько способов как найти значение суммы числовых значений цифр в строке #tpy

Это строка, содержащая числовые символы, из которых мы будем находить сумму:
s = '12345'



1⃣ Вариант 1:
summa1 = 0
for x in s:
summa1 += int(x)
print(summa1) # 15

В этом варианте мы используем цикл for, чтобы пройти по каждому символу строки s. Каждый символ преобразуем в число с помощью int(x) и добавляем его к общей сумме summa1.


2⃣ Вариант 2:
summa2 = 0
for i in range(0, 10):
summa2 += s.count(str(i)) * i
print(summa2) # 15

Здесь мы использовали метод count для подсчета количества вхождений каждой цифры от 0 до 9 в строке s. Умножаем количество вхождений на само число и добавляем к summa2.


3⃣ Вариант 3:
summa3 = sum(map(int, s))
print(summa3) # 15

Этот способ применяет функцию map, чтобы преобразовать каждый символ строки s в число. Используя sum, мы находим сумму всех чисел. Это краткий и эффективный способ.


4⃣ Вариант 4:
summa4 = sum([int(x) for x in s])
print(summa4) # 15

Здесь используется генератор списка для создания нового списка, где каждый элемент — это числовое значение символа из s. Затем с помощью sum находим сумму элементов списка.

Альтернативно, в этой версии можно добавить проверку if, чтобы убедиться, что символы являются цифрами:
summa4 = sum([int(x) for x in s if x.isdigit()])

Это делает код более безопасным на случай, если в строке s присутствуют нечисловые символы.


⤵️ Поделитесь этим постом с друзьями, чтобы все узнали о этих простых способах подсчета суммы чисел в строке💪💪

Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤‍🔥43
🖥 Все методы списков в 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 your browser
VIEW IN TELEGRAM
📱 Итерация по списку в Python с помощью метода Enumerate #tpy

Если у вас нет полного понимания того, как работает функция enumerate в Python, то давайте разберемся вместе. Метод enumerate() добавляет счетчик к элементам итерируемого объекта и возвращает объект типа enumerate. Этот объект содержит пары значений: индекс элемента и сам элемент из исходного списка.

Одним из главных преимуществ использования метода enumerate является возможность преобразования объектов типа enumerate в список или кортеж с помощью методов list() и tuple() соответственно. Это облегчает работу с индексами элементов списка и упрощает процесс перебора элементов в цикле.

Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥73🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Обработка исключений через try/except #tpy

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

Одним из способов обработки исключений в Python является конструкция try-except. Она позволяет выполнить определенный код в блоке try, и если во время его выполнения возникает ошибка, перехватить и обработать эту ошибку в блоке except.

Пример использования:
try:
# уязвимая функция
except Exception as e:
print(f"Произошла ошибка: {e}")
# код обработки ошибки


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥22
👩‍💻 Мастерим срезы в Python: Изучаем эффективное использование срезов в списках и строках #tpy

🚩 Извлечение подсписка:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subset = my_list[2:5]
print(subset) # Вывод: [3, 4, 5]

Здесь мы извлекаем подсписок, начиная с индекса 2 и заканчивая индексом 5 (не включая). Это полезно, когда нам нужна определенная часть списка.

🚩 Извлечение каждого второго элемента:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subset = my_list[1::2]
print(subset) # Вывод: [2, 4, 6, 8, 10]

В этом примере мы извлекаем каждый второй элемент, начиная с индекса 1, то есть все нечетные ИНДЕКСЫ.

🚩 Извлечение обратного порядка списка:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
reverse_list = my_list[::-1]
print(reverse_list) # Вывод: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Использование среза с отрицательным шагом позволяет нам легко создать список в обратном порядке.

🚩 Извлечение подстроки:
my_string = "Hello, World!"
substring = my_string[7:12]
print(substring) # Вывод: "World"

В данном случае, мы извлекаем подстроку, начиная с индекса 7 и заканчивая индексом 12 (не включая). Это полезно для работы с текстовыми данными.

🚩 Извлечение каждого второго символа:
my_string = "Hello, World!"
substring = my_string[::2]
print(substring) # Вывод: "Hlo ol!"

Использование среза с шагом 2 помогает нам извлекать каждый второй символ из строки.

🚩 Извлечение обратного порядка строки:
my_string = "Hello, World!"
reverse_string = my_string[::-1]
print(reverse_string) # Вывод: "!dlroW ,olleH"

Также, как и в случае с списками, срез с отрицательным шагом позволяет легко получить строку в обратном порядке.

Использование срезов делает код более эффективным и читаемым. Практикуйтесь в их применении, и вы обнаружите, насколько они улучшают ваши навыки работы с данными в Python.

Азим вкатывается в IT | itpy 💻
Наш второй канал по подготовке к ЕГЭ 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥733
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Универсальная функция перевода числа из 10-ой системы счисления в b-ую #tpy

При подготовке к ЕГЭ по информатике важно уметь работать с различными системами счисления для таких номеров как 5 и 14. Сегодня разберем универсальную функцию на Python, которая позволяет перевести число из десятичной системы счисления в любую другую (от 2 до 36).

1. Импортируем необходимые символы:
from string import *

Здесь используются модули digits и ascii_uppercase, чтобы задать доступные символы для различных систем счисления.


2. Образуем строку alphabet:
alphabet = digits + ascii_uppercase

Эта строка содержит все символы, используемые в системах счисления: цифры от 0 до 9 и заглавные английские буквы от A до Z.


3. Основная функция convert:
def convert(n, b):
r = ''
while n > 0:
r += alphabet[n % b]
n //= b
return r[::-1]

Функция convert принимает два параметра: число n в десятичной системе и основание b, в которое его нужно перевести. Внутри цикла проводится деление числа n на основание b с остатком, который используется для получения соответствующего символа из alphabet. Собранные символы переворачиваются в обратном порядке для получения правильного представления числа в новой системе.


4. Примеры использования:
n = 15552
print(convert(n, 2)) # Перевод в двоичную систему
print(convert(n, 8)) # Перевод в восьмеричную систему
print(convert(n, 16)) # Перевод в шестнадцатеричную систему
print(convert(n, 3)) # Перевод в троичную систему

Эти примеры показывают, как использовать функцию для перевода числа 15552 в различные системы счисления.

Более короткий вариант написания этой функции оставлю в комментариях к этому посту, не стесняйтесь ставить реакции на этот пост 🔥

Информатика ЕГЭ | itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥33🔥10👍76
📱 Разбор регулярных выражений в Python на примере заданий из ЕГЭ по информатике #tpy

Регулярные выражения — мощный инструмент для поиска и анализа текстовых данных. В заданиях ЕГЭ по информатике (задание 24) они часто используются для поиска числовых последовательностей по определённому шаблону. Разберём основные приёмы на примерах из реальных задач.

Общая структура большинство решений строится по следующему шаблону:
from re import *

s = open('24.txt').readline()
# num — шаблон отдельного числа
# reg — шаблон всей последовательности
reg = rf'{num}([+*]{num})*'
matches = [x.group() for x in finditer(reg, s)]
maxi = max(len(x) for x in matches)
print(maxi)


Пример 1: Поиск последовательностей чисел от 7, 8, 9, 0 (№ 20813 #kege)
num = r'([789][0789]*|[0])'
reg = rf'{num}([-*]{num})*'

🔣num — число, начинающееся с 7, 8 или 9 и продолжающееся цифрами 0, 7, 8, 9, либо одиночный ноль.
🔣reg — последовательность таких чисел, разделённых символами - или *.


Пример 2: Работа с буквами и диапазоном 1–6 (№ 18619 #kege)
s = s.replace('A', ' ').replace('C', ' ').replace('D', ' ')
num1 = r'[B]([1-6][1-6]*)'
num2 = r'([1-6][1-6]*)'
reg = rf'{num1}([-*]{num2})*'

🔣Заменяются лишние символы на пробелы.
🔣Затем ищутся последовательности, начинающиеся с B, за которой идут цифры от 1 до 6, и операторы - или *.


Пример 3: Подсчёт количества чисел (№ 18285 #kege)
num = r'([1-9][0-9]*)'
reg = rf'{num}([+*]{num})*'

🔣Сначала находятся выражения вида a+b+c.
🔣Затем + и * заменяются на пробелы, и с помощью split() считается количество чисел в выражении.

Пример 4: Сумма выражений (№ 18147 #kege)
num = r'([789]+)'
reg = rf'{num}([+]{num})+'

🔣Ищутся выражения с числами из цифр 7, 8 и 9, соединённые знаком +.
🔣Затем по условию задания с помощью функции eval() находится максимальное значение такого выражения.


🚩 Общие шаблоны для задач ЕГЭ

Определение чисел:
r'([1-9][0-9]*)' - натуральные числа (без ведущих нулей)

r'([0-9]+)' - любые целые числа

r'([789][0789]*)' - числа, начинающиеся с 7,8 или 9


Операции между числами:
([+*]{num})* - повторяющиеся операции + или *

([-+*]{num})* - операции -, + или *


Специальные условия:
Окончание на определенные цифры: [05]

Начало с определенных букв: [AFD]


Регулярные выражения - это мощный инструмент, который требует практики. Разбирая подобные задачи, вы лучше поймете их синтаксис и возможности.

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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
47🔥3👍2
🔍 Функции all() и any() в Python: просто о полезном #tpy

В задачах ЕГЭ (например, в номере 25) часто нужно проверять условия для всех или хотя бы одного элемента из набора. Python предлагает элегантные решения — встроенные функции all() и any().


🚩 Пример с all() — Проверка простого числа
def is_prime(x):
if x <= 1:
return False
return all(x % i != 0 for i in range(2, x))

print(is_prime(7)) # Вывод: True


📌 Объяснение:

🔣Генераторное выражение (x % i != 0 for i in range(2, x)) создает последовательность логических значений: True, если x не делится на i, и False, если делится.

🔣Функция all() возвращает True, только если все значения в последовательности — истинны.

🔣В результате, is_prime(7) вернет True, так как 7 не делится ни на одно число от 2 до 6 — то есть, это простое число.


🚩 Пример с any() — Поиск хотя бы одного делителя
def has_divisor(x):
return any(x % i == 0 for i in range(2, x))

print(has_divisor(9)) # Вывод: True


📌 Объяснение:

🔣Генератор проверяет, делится ли x хотя бы на одно число в диапазоне.

🔣any() вернет True, если хотя бы одно значение в последовательности — истина.

🔣В примере has_divisor(9) возвращает True, потому что 9 делится на 3.



💡 Кратко:

🔣all() — возвращает True, если все элементы истинны.

🔣any() — возвращает True, если хотя бы один элемент истинен.

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

#⃣ Вся теория для ЕГЭ в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥932
📱 Можно ли использовать else после for или while в Python? #tpy

Ответ: Да, можно! И это — вполне валидная и полезная конструкция.

📌 Как это работает?
В Python блок else после цикла for или while выполняется только в том случае, если цикл завершился нормально, то есть без использования break.


#⃣ Вся теория для ЕГЭ в одном месте

Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥10👍4🔥32
🚩 Строковые константы модуля string в Python #tpy

При работе со строками часто возникает задача: определить, к какой категории символов относится тот или иной символ — цифра ли это, буква, знак пунктуации и т.д.

Помимо методов isdigit(), isalpha(), использования Unicode (ord()) и регулярных выражений, Python предлагает более удобный способ — строковые константы встроенного модуля string.


📚 Примеры полезных констант:
import string

print(string.digits)
# Цифры: 0123456789

print(string.ascii_letters)
# Все английские буквы: abc...XYZ

print(string.ascii_lowercase)
# Только строчные: abc...

print(string.ascii_uppercase)
# Только заглавные: ABC...

print(string.punctuation)
# Знаки препинания: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~


📌 Эти готовые строки особенно полезны, когда:
🔣Нужно фильтровать или валидировать ввод
🔣Писать генераторы случайных паролей
🔣Проверять состав строки без использования регулярных выражений



🔎 Пример использования — фильтрация букв:
s = "Hello123!"
letters_only = [ch for ch in s if ch in string.ascii_letters]
print(letters_only) # ['H', 'e', 'l', 'l', 'o']

Кроме вышеупомянутых, модуль string содержит и другие полезные объекты, включая string.whitespace, string.printable и даже шаблонные классы для форматирования.

🔗 Подробнее в официальной документации:
docs.python.org/3/library/string.html

#⃣ Вся теория для ЕГЭ в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥84🔥3
👩‍💻 Несколько способов как найти значение суммы числовых значений цифр в строке #tpy

Это строка, содержащая числовые символы, из которых мы будем находить сумму:
s = '12345'



1⃣ Вариант 1:
summa1 = 0
for x in s:
summa1 += int(x)
print(summa1) # 15

В этом варианте мы используем цикл for, чтобы пройти по каждому символу строки s. Каждый символ преобразуем в число с помощью int(x) и добавляем его к общей сумме summa1.


2⃣ Вариант 2:
summa2 = 0
for i in range(0, 10):
summa2 += s.count(str(i)) * i
print(summa2) # 15

Здесь мы использовали метод count для подсчета количества вхождений каждой цифры от 0 до 9 в строке s. Умножаем количество вхождений на само число и добавляем к summa2.


3⃣ Вариант 3:
summa3 = sum(map(int, s))
print(summa3) # 15

Этот способ применяет функцию map, чтобы преобразовать каждый символ строки s в число. Используя sum, мы находим сумму всех чисел. Это краткий и эффективный способ.


4⃣ Вариант 4:
summa4 = sum([int(x) for x in s])
print(summa4) # 15

Здесь используется генератор списка для создания нового списка, где каждый элемент — это числовое значение символа из s. Затем с помощью sum находим сумму элементов списка.

Альтернативно, в этой версии можно добавить проверку if, чтобы убедиться, что символы являются цифрами:
summa4 = sum([int(x) for x in s if x.isdigit()])

Это делает код более безопасным на случай, если в строке s присутствуют нечисловые символы.


⤵️ Поделитесь этим постом с друзьями, чтобы все узнали о этих простых способах подсчета суммы чисел в строке💪💪

#⃣ Вся теория для ЕГЭ в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥94🤯3
👩‍💻 Повторяем срезы в 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 и других номерах

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