Программирование на Python | itpy 💻
524 subscribers
3 photos
2 videos
20 links
Азим вкатывается в IT – это блог, в котором я рассказываю о Python и айти не только в рамках подготовки к ЕГЭ, но и за ее пределами.

Автор канала: @ilandroxxy
Канал по подготовке к ЕГЭ: t.iss.one/informatika_kege_itpy

💬 Ссылка на чат: t.iss.one/analyst_chat_itpy
Download Telegram
🔤🔤🔤🔤🔤 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
Присоединяйтесь к нашему сообществу! 💬

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

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

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

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

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


🔤🔤 🔤🔤🔤🔤🔤🔤🔤
😶 Контакты: @ilandroxxy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥3🐳1
👋 Доброго всем времени суток!

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

Как вы думаете, надолго ли меня хватит?? 🙂

Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13🫡7👍2🎉1
🐍 Все методы строк в Python, которые понадобятся на ЕГЭ #tpy 

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

1⃣ .strip()
Метод strip() удаляет пробелы (или другие символы) из начала и конца строки. Это полезно для очистки пользовательского ввода.
text = "  Привет, мир!  "
cleaned_text = text.strip()
print(cleaned_text) # "Привет, мир!"



2⃣ .lower() и .upper()
Эти методы позволяют изменять регистр строки. lower() преобразует строку в нижний регистр, а upper() – в верхний.
text = "ПрIvEt"
print(text.lower()) # "привет"
print(text.upper()) # "ПРИВЕТ"



3⃣ .replace()
Метод replace(old, new, count) заменяет подстроку old на new в строке count раз.
text = "Я люблю Python!"
new_text = text.replace("Python", "программирование")
print(new_text) # "Я люблю программирование!"



4⃣ .split()
Метод split(separator) разделяет строку на части по указанному разделителю. Если разделитель не указан, используется пробел.
text = "яблоко груша банан"
fruits = text.split() # по умолчанию разделяет по пробелам
print(fruits) # ['яблоко', 'груша', 'банан']



5⃣ .join()
Метод join(iterable) соединяет элементы списка (или другого итерируемого объекта) в строку с указанным разделителем.
fruits = ['яблоко', 'груша', 'банан']
result = ', '.join(fruits)
print(result) # "яблоко, груша, банан"



6⃣ .find()
Метод find(substring) ищет подстроку в строке и возвращает индекс, с которого начинается первая встреча. Если подстрока не найдена, возвращает -1.
text = "Привет, мир!"
index = text.find("мир")
print(index) # 8



7⃣ .count()
Метод count(substring) возвращает количество вхождений подстроки в строку.
text = "яблоко, груша, яблоко"
count = text.count("яблоко")
print(count) # 2



8⃣ .startswith() и .endswith()
Эти методы проверяют, начинается ли строка с указанной подстроки или заканчивается ли ею.
text = "Привет, мир!"
print(text.startswith("Привет")) # True
print(text.endswith("мир!"))   # True


Практикуйтесь в использовании этих методов, чтобы запомнить синтаксис и логику работы с ними. Удачи в подготовке!

Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2🎉6🔥2👏2🆒2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Генераторы списков (списочные выражения) для ЕГЭ #tpy

В Python генератор списков - это компактный способ создания списков с использованием выражений в одну строку. Такие генераторы позволяют создавать списки с минимальным количеством кода, что делает его более читаемым и эффективным. Синтаксис генератора списка включает выражение, цикл и (при необходимости) условие.

# Создание списка квадратов четных чисел от 0 до 9
even_squares = [x**2 for x in range(10) if x % 2 == 0]

# Вывод результатов
print(even_squares)

В этом примере if x % 2 == 0 добавляет в список только квадраты четных чисел, создавая список [0, 4, 16, 36, 64].


🚩 Более подробную информацию про генераторы списков вы можете изучить в нашей статье на Notion


Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥5❤‍🔥2🫡2
👩‍💻 Шпаргалка по генераторам списков #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]


Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥4🔥3
Media is too big
VIEW IN TELEGRAM
🐍 4 сайта, которые помогут тебе стать программистом #useful

1⃣ Harvard CS50
2⃣ LeetCode
3⃣ CodeWars
4⃣ Wargames

📱 Источник видео: Свят404

Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍5❤‍🔥2🔥2
📱 Давайте рассмотрим две полезные функции в 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) # Вывод: яблоко, банан, груша



Программирование на Python | itpy 💻
Тут ответы на все вопросы
🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤‍🔥6🔥4👍21
📱 Способы подключения библиотек в 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

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



Программирование на Python | itpy 💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥42👍1
📱 Примеры полезных генераторов списков в Python #tpy

Генераторы списков (list comprehensions) в Python — это мощный инструмент, который позволяет создавать списки компактным и элегантным способом. В данной статье рассмотрим несколько практических примеров их использования на экзаменах ЕГЭ по информатике.


1⃣ Генерация случайных чисел
Начнем с простого примера, где мы создадим список из 10 случайных чисел:
from random import randint

# Старый способ создания списка
M = []
for i in range(10):
M.append(randint(0, 100))


# Способ создания списка через генератор:
M = [randint(0, 100) for i in range(10)]

В этом примере мы видим, как генераторы списков позволяют сократить количество строк кода и сделать его более читаемым.


2⃣ Фильтрация четных и нечетных чисел
Следующий пример продемонстрирует, как с помощью генераторов списков можно фильтровать элементы:
# Все четные элементы
chet = [x for x in M if x % 2 == 0]

# Все нечетные элементы
nechet = [x for x in M if x % 2 != 0]

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


3⃣ Поиск элементов с дубликатами
С помощью генераторов списков можно также находить элементы, которые имеют копии:
# Элементы, которые имеют копии
copied = [x for x in M if M.count(x) > 1]

# Элементы, которые не имеют копий
not_copied = [x for x in M if M.count(x) == 1]



4⃣ Генерация последовательностей
Самый простой пример использования генераторов списков это создание последовательностей чисел:
M = [x for x in range(10)]
print(M) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

M = [x ** 2 for x in range(10)]
print(M) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

M = [x ** 2 for x in range(10) if x % 2 == 0]
print(M) # [0, 4, 16, 36, 64]



5⃣ Чтение данных из файла
Генераторы списков могут также упрощать загрузку и обработку данных из файлов:
M = [int(x) for x in open('17.txt')]

# Находим трехзначные числа с последней цифрой 3
D = [x for x in M if abs(x) % 10 == 3 and len(str(abs(x))) == 3]



6⃣ Обработка строк из файла
Можно использовать генераторы для обработки строк, прочитанных из файла:
for s in open('9.txt'):
M = [int(x) for x in s.split()]



Программирование на Python | itpy 💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
😼 Разбор Python задачки на списки #list
Уровень: Базовый


🚩 Условие задачи:
Напишите программу, которая находит все уникальные элементы в списке целых чисел, то есть те элементы, которые встречаются в списке только один раз.


🚩 Формат входных данных:
На вход программе подается натуральное число n, а затем n целых чисел.


🚩 Формат выходных данных:
Программа должна вывести все уникальные элементы, каждый на отдельной строке. Если таких элементов нет, выведите "Уникальных элементов нет".


🚩 Пример Input/Output данных:
Sample Input:
5
3
3
2
1
4

Sample Output:
2
1
4


👩‍💻 Код решения:
n = int(input())
M = [int(input()) for _ in range(n)]

R = [x for x in M if M.count(x) == 1]

if not R:
print("Уникальных элементов нет")
else:
print(*R, sep='\n')



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

1⃣ n = int(input())
Считываем с ввода количество чисел, которое пользователь хочет ввести, и преобразуем его в целое число.


2⃣ M = [int(input()) for _ in range(n)]
Создаем список M, считывая n целых чисел с ввода в цикле, используя списковое выражение.


3⃣ R = [x for x in M if M.count(x) == 1]
Создаем список R, содержащий только те элементы из M, которые встречаются в списке единожды (то есть уникальные).


4⃣ if not R:
Проверяем, пустой ли список R (то есть есть ли уникальные элементы).


5⃣ print("Уникальных элементов нет")
Если список R пуст, выводим сообщение о том, что уникальных элементов нет.


6⃣ else:
В противном случае, если уникальные элементы присутствуют.


7⃣ print(*R, sep='\n')
Выводим все уникальные элементы из R, разделяя их символом новой строки.


Делитесь своим вариантами решения в комментариях 👇

Информатика ЕГЭ | itpy 🧑‍💻
Программирование на Python | itpy 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👍1
👩‍💻 Несколько способов как найти значение суммы числовых значений цифр в строке #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
👍3🥰2❤‍🔥1
🖥 Все методы списков в 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]



Программирование на Python | itpy 💻
Наш второй канал по подготовке к ЕГЭ 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥53👍2
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Нашел интересную задачку от ИИ Яндекса с из сборника по подготовке к ЕГЭ
Автор: Яндекс учебник
Уровень: Средний


🚩 Условие задачи:
Существуют числа, обладающие свойствами:

1. Число делится на все свои цифры;
2. Число, полученное из данного числа записью цифр в обратном порядке, тоже делится на все свои цифры.

Примером такого числа является 216. Сколько существует трёхзначных чисел, без нулей в записи, обладающих этими свойствами?


🚩 Теоретическая справка:
Считаю такую задачу весьма интересной для практики программирования, да тут нет ничего похожего с задачами ФИПИ, но практика дает нам много ценного опыта.


👩‍💻 Код решения:
cnt = 0
for n in range(100, 1000):
# if str(n).count('0') == 0:
if '0' not in str(n):
if all(n % int(x) == 0 for x in str(n)):
new_n = int(str(n)[::-1])
if all(new_n % int(x) == 0 for x in str(new_n)):
cnt += 1
print(cnt)

# Ответ: 16


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

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


2⃣ for n in range(100, 1000):
- Цикл for перебирает все трехзначные числа от 100 до 999 включительно.


3⃣ # if str(n).count('0') == 0:
- Закомментированная строка изначально проверяла, что в числе n нет нулей (аналог).


4⃣ if '0' not in str(n):
- Проверяется, что число n не содержит цифру '0'.


5⃣ if all(n % int(x) == 0 for x in str(n)):
- Проверяется, что число n делится на каждую из своих цифр без остатка.


6⃣ new_n = int(str(n)[::-1])
- Переменная new_n получает значение числа n с цифрами в обратном порядке.


7⃣ if all(new_n % int(x) == 0 for x in str(new_n)):
- Проверяется, что число new_n также делится на каждую из своих цифр без остатка.


8⃣ cnt += 1
- Увеличивается счетчик cnt на 1, если оба условия делимости выполняются.


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


Программирование на Python | itpy 💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👍1