Forwarded from Программирование на Python | itpy 💻
В Python существует несколько удобных способов подключения библиотек и модулей, что делает код более гибким и удобным для чтения. Давайте рассмотрим основные из них.
Самый базовый способ — это просто импортировать библиотеку с помощью команды import. Например, мы можем подключить стандартную библиотеку math, чтобы использовать ее функции:
import math # Импортируем библиотеку math
print(math.sqrt(16)) # Вывод: 4.0
Этот метод требует, чтобы мы каждый раз указывали название библиотеки перед использованием ее функций, что может быть неудобно в больших проектах.
Чтобы сделать код более кратким и читаемым, можно использовать псевдонимы. Это достигается с помощью ключевого слова as. Вот как это делается:
import math as m # Импортируем библиотеку math с псевдонимом m
print(m.sqrt(16)) # Вывод: 4.0
Теперь мы можем обращаться к функциям библиотеки math через m, что упрощает написание кода.
Если вам нужны только несколько функции из библиотеки, вы можете импортировать их напрямую. Это не только делает код более аккуратным, но и может немного оптимизировать использование памяти:
from math import sqrt, pow, gcd # Импортируем только нужные функции
print(sqrt(16)) # Вывод: 4.0
Таким образом, вы избегаете повторного указания названия библиотеки.
Если вам нужно использовать все функции из библиотеки, вы можете импортировать их с помощью *:
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
Мы расширяем наше присутствие в Telegram! 🚀
У нас есть много интересного для вас! Подписывайтесь на наши каналы и оставайтесь в курсе всех новостей и полезной информации🔥
📱 Наш YouTube канал
📱 Читайте ДЗЕН канал
📱 Наши Telegram каналы:
🚩 Подготовка к экзамену ЕГЭ:
Информатика ЕГЭ | itpy👨💻
🚩 Подготовка к экзамену ОГЭ:
Информатика ОГЭ | itpy👨🏫
🚩 Здесь выкладываю Python статьи:
Азим вкатывается в IT | itpy💻
🚩 Честные обзоры на IT университеты:
Hey Student!🎓
У нас есть много интересного для вас! Подписывайтесь на наши каналы и оставайтесь в курсе всех новостей и полезной информации
Информатика ЕГЭ | itpy
Информатика ОГЭ | itpy
Азим вкатывается в IT | itpy
Hey Student!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍6🔥4
Отдайте свой голос за самый полезный из наших тгк ✈️
Anonymous Poll
86%
Информатика ЕГЭ | itpy 👨💻
11%
Подготовка ОГЭ | itpy 👨🏫
16%
Азим вкатывается в IT | itpy 💻
16%
Hey student! 🎓
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: (М. Паршиков)
Уровень: Средний
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n)=n, при n≥3000
F(n)=n+x+F(n+2), при n<3000
При каком целом значении х, значение выражения:
F(2984) − F(2988) = 5916
Не шипка сложная, но интересная задачка. Так же интересно, что ответ у нас отрицательный, на экзамене такого быть не может.
def F(n, x):
if n >= 3000:
return n
if n < 3000:
return n + x + F(n + 2, x)
for x in range(-100, 100):
if F(2984, x) - F(2988, x) == 5916:
print(x)
# Ответ: -27
def F(n, x):
Определяем функцию F, которая принимает два аргумента: n и x.
if n >= 3000:
Проверяем, больше ли или равно n значению 3000.
return n
Если n больше или равно 3000, функция возвращает значение n.
if n < 3000:
Если n меньше 3000, выполняем следующий код.
return n + x + F(n + 2, x)
Возвращаем сумму n, x и рекурсивного вызова F с увеличенным n на 2.
for x in range(-100, 100):
Запускаем цикл, перебирая значения x от -100 до 99 (включительно).
if F(2984, x) - F(2988, x) == 5916:
Проверяем, равна ли разница между F(2984, x) и F(2988, x) 5916.
print(x)
Если условие истинно, выводим текущее значение x.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤🔥11🔥4❤3👍1
Пост с канала "Ишимов & Шастин"
Около года назад я перешел с IDLE на PyCharm — и обратно уже точно не вернусь. В новом видео рассказываю вам о полезнейших фишках IDE от JetBrains, за которые я её так полюбил. Все они в совокупности сильно упрощают процесс написания кода и заметно экономят время, которое играет очень важную роль на экзамене 👀
Лично я пользуюсь PyCharm с первого дня и даже смог почерпнуть что-то новое для себя, поэтому это обязательно к просмотру! Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤🔥5❤2🔥1
Forwarded from Hey student! 🎓
Я готовился исключительно самостоятельно.
В среднем пары занимают от 3 до 4,5 часов в день.
Чистого времени на учебу также около 3-4,5 часов.
Мой день начинается в 9 утра и заканчивается около 16:00. В нашем вузе каждую неделю происходит что-то интересное: на прошлой неделе была ярмарка вакансий, а перед этим — соревнования по управлению дронов. Каждый мог попробовать управлять ими на различных стендах.
К сожалению, у нас на платной основе стипендий нет.
Если находить подработку на 2-3 часа в день, это не так сложно совмещать с учёбой. Плохо, что времени на отдых остаётся мало, но это временные неудобства.
Преподаватели в нашем вузе очень активно предлагают стажировки, и есть множество клубов и секций, охватывающих любые интересы. Обычно легче найти то, что есть, чем что-то отсутствующее. Если же вы не найдете нужную активность, всегда можно обратиться в студенческий совет со своей идеей, и её обязательно рассмотрят.
Мне нравится свобода выбора действий и возможность заниматься тем, что действительно интересно. У нас на направлении много сильных преподавателей, готовых делиться своим опытом.
К сожалению, есть слабые направления, как и в большинстве университетов, и бывают весьма жесткие сессии, что зависит от кафедры.
Если вуз действительно вас зацепил, не сомневайтесь — идите туда!
Hey student! 🎓
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤🔥7👍3🔥3
This media is not supported in the widget
VIEW IN TELEGRAM
3 9❤🔥3❤3🔥1
Автор: Калинин А.
Уровень: Средний
Определите количество строк таблицы, для которых одновременно выполняются следующие условия:
1. Удвоенный квадрат минимального из чисел, содержащихся в строке, больше, чем произведение двух других чисел, ни одно из которых не равно максимальному числу
2. В строке содержится хотя бы два одинаковых числа
Особенное внимание уделите условию: "ни одно из которых не равно максимальному числу"
cnt = 0
for s in open('files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
if len(set(M)) < 4:
if (2 * M[0] ** 2) > (M[1] * M[2]):
if M[1] != max(M) and M[2] != max(M):
print(M)
cnt += 1
print(cnt)
# Ответ: 43
cnt = 0
Инициализируем счётчик cnt, который будет хранить количество подходящих списков чисел.
for s in open('files/9.csv'):
Открываем файл '9.csv' для чтения и начинаем цикл по каждой строке файла.
M = sorted([int(x) for x in s.split(',')])
Разделяем строку s по запятым, преобразуем каждую часть в целое число и сортируем полученный список в M.
if len(set(M)) < 4:
Проверяем, содержит ли множество уникальных элементов списка M меньше 4 значений.
if (2 * M[0] ** 2) > (M[1] * M[2]):
Проверяем, выполняется ли неравенство: двойной квадрат первого элемента больше произведения второго и третьего элементов.
if M[1] != max(M) and M[2] != max(M):
Проверяем, не является ли максимальный элемент списка среди второго или третьего элементов.
print(M)
Если все условия выполнены, выводим список M.
cnt += 1
Увеличиваем счётчик cnt на 1, так как мы нашли подходящий список.
print(cnt)
По завершении цикла выводим общее количество подходящих списков, хранящихся в cnt.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7 3❤🔥2 1
Страшно выгодное предложение
В связи с завершением набора в группы подготовки к ЕГЭ 2024, а также с приближением поры скидок 11.11 Кирилл Андреевич - автор телеграм канала "Глазами физика" делает вам эксклюзивное предложение.
🎁 В виде скидки в 11% на первый месяц занятий
Предложение ограничено и будет действовать строго с 8.11 по 11.11(завтра последний день)😱
Подробную информацию о наборе читайте здесь:
🔸 Для 7-11 классов
🔸 Для 1-4 классов
Записаться на занятия можно следующими способами:
1. Через личные сообщения: @Chebotnikov
2. Заполнив заявку на сайте: http://glazami.fizika.tilda.ws/
В связи с завершением набора в группы подготовки к ЕГЭ 2024, а также с приближением поры скидок 11.11 Кирилл Андреевич - автор телеграм канала "Глазами физика" делает вам эксклюзивное предложение.
🎁 В виде скидки в 11% на первый месяц занятий
Предложение ограничено и будет действовать строго с 8.11 по 11.11(завтра последний день)
Подробную информацию о наборе читайте здесь:
Записаться на занятия можно следующими способами:
1. Через личные сообщения: @Chebotnikov
2. Заполнив заявку на сайте: http://glazami.fizika.tilda.ws/
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯5❤🔥3❤2
Уровень: Базовый
Напишите программу, которая находит все уникальные элементы в списке целых чисел, то есть те элементы, которые встречаются в списке только один раз.
На вход программе подается натуральное число n, а затем n целых чисел.
Программа должна вывести все уникальные элементы, каждый на отдельной строке. Если таких элементов нет, выведите "Уникальных элементов нет".
Sample Input:
5
3
3
2
1
4
Sample Output:
2
1
4
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9 3❤🔥2
Тесты нового формата пройдут в отдельных регионах, сообщили в Рособрнадзоре
Как вам такие новости? А что, если на ЕГЭ заставят ТГ бота делать, справимся?
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: (Д. Бахтиев)
Уровень: Средний
Определите количество троек последовательности, сумма цифр элементов которых равна минимальному положительному элементу последовательности, оканчивающемуся на 4. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек.
В этой задачи я слеиваю все числа тройки в одну общую строчку и изящно избавляюсь от знака "минус".
M = [int(x) for x in open('files/17.txt')]
D = [x for x in M if x > 0 and x % 10 == 4]
R = []
for i in range(len(M)-2):
# x, y, z = M[i], M[i+1], M[i+2]
x, y, z = M[i:i+3]
S = ''.join([str(p) for p in (x, y, z)])
summa = sum(int(x) for x in S if x.isdigit())
if summa == min(D):
R.append(x + y + z)
print(len(R), max(R))
# Ответ: 11 180738
M = [int(x) for x in open('files/17.txt')]
Читаем файл '17.txt', преобразуем каждую строку в целое число и сохраняем в список M.
D = [x for x in M if x > 0 and x % 10 == 4]
Создаем список D, содержащий только положительные числа из M, оканчивающиеся на 4.
R = []
Инициализируем пустой список R, который будет хранить результаты.
for i in range(len(M)-2):
Запускаем цикл по индексу i от 0 до длины списка M минус 2, чтобы иметь возможность брать группы из трех чисел.
x, y, z = M[i:i+3]
Объявляем переменные x, y, z как три последовательных элемента списка M, начиная с индекса i.
S = ''.join([str(p) for p in (x, y, z)])
Конвертируем x, y, z в строки и объединяем их в одну строку S.
summa = sum(int(x) for x in S if x.isdigit())
Вычисляем сумму всех цифр в строке S и сохраняем её в переменной summa.
if summa == min(D):
Проверяем, равна ли сумма summa минимальному значению в списке D.
R.append(x + y + z)
Если условие выполняется, добавляем сумму x, y и z в список R.
print(len(R), max(R))
Выводим количество найденных сумм в R и максимальное значение из R.
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10 5❤🔥3
Ребят, поддержите мой Shorts лайками 🙏
📱 Все методы строк, которые понадобятся на ЕГЭ по информатике
👉 Тут можно найти все видео с моего YouTube канала
Информатика ЕГЭ | itpy🧑💻
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: kompege.ru
Уровень: Базовый
Операнды арифметического выражения записаны в системе счисления с основанием 19.
78x79643_19 + 25x43_19 + 63x5_19
В записи чисел переменной x обозначена неизвестная цифра из алфавита 19-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 18. Для найденного x вычислите частное от деления значения арифметического выражения на 18
Век живи, век учись! Еще один вариант решения 14 номера (второй прототип).
for x in '0123456789ABCDEFGHI':
A = int('78x79643'.replace('x', x), 19)
B = int('25x43'.replace('x', x), 19)
C = int('63x5'.replace('x', x), 19)
if (A + B + C) % 18 == 0:
print((A + B + C) // 18)
break
# Ответ: 368599039
for x in '0123456789ABCDEFGHI':
Запускаем цикл, который будет перебирать все символы от 0 до I в строке.
A = int('78x79643'.replace('x', x), 19)
Заменяем 'x' на текущий символ и преобразуем строку в целое число в системе счисления с основанием 19, сохраняя результат в A.
B = int('25x43'.replace('x', x), 19)
Аналогично, заменяем 'x' в другой строке и преобразуем её в целое число в системе счисления с основанием 19, сохраняя результат в B.
C = int('63x5'.replace('x', x), 19)
Заменяем 'x' в третьей строке, преобразуем строку в целое число в системе счисления с основанием 19 и сохраняем в C.
if (A + B + C) % 18 == 0:
Проверяем, делится ли сумма A, B и C на 18 без остатка.
print((A + B + C) // 18)
Если условие выполняется, выводим результат деления суммы на 18.
break
Завершаем цикл, если нашли подходящее значение, чтобы избежать дальнейших итераций.
Наша Stepik подборкой задач
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8 3👍1🔥1
Это строка, содержащая числовые символы, из которых мы будем находить сумму:
s = '12345'
summa1 = 0
for x in s:
summa1 += int(x)
print(summa1) # 15
В этом варианте мы используем цикл
for
, чтобы пройти по каждому символу строки s
. Каждый символ преобразуем в число с помощью int(x)
и добавляем его к общей сумме summa1
.summa2 = 0
for i in range(0, 10):
summa2 += s.count(str(i)) * i
print(summa2) # 15
Здесь мы использовали метод
count
для подсчета количества вхождений каждой цифры от 0 до 9 в строке s
. Умножаем количество вхождений на само число и добавляем к summa2
.summa3 = sum(map(int, s))
print(summa3) # 15
Этот способ применяет функцию map, чтобы преобразовать каждый символ строки s в число. Используя sum, мы находим сумму всех чисел. Это краткий и эффективный способ.
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
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Кабанов А
Уровень: Средний
Автомат обрабатывает натуральное число N (1≤N≤255) по следующему алгоритму:
1. Строится восьмибитная двоичная запись числа N.
2. Удаляются средние четыре цифры.
3. Полученное число переводится в десятичную запись и выводится на экран.
Каково наименьшее число, большее 130, которое после обработки автоматом даёт результат 10?
Интересная задачка из-за своего "прикольного" среза, ну и метод .zfill(8) не оставит равнодушными!)
for n in range(130+1, 255+1):
s = f'{n:b}'.zfill(8)
s = s[:2] + s[-2:]
r = int(s, 2)
if r == 10:
print(n)
break
# Ответ: 134
for n in range(130+1, 255+1):
- Начинаем цикл с числами от 131 до 255 (включительно).
s = f'{n:b}'.zfill(8)
- Преобразуем число n в двоичную строку и дополняем её нулями слева до 8 символов.
s = s[:2] + s[-2:]
- Извлекаем первые две и последние две цифры двоичной строки и объединяем их.
r = int(s, 2)
- Преобразуем получившуюся строку обратно в десятичное число.
if r == 10:
- Проверяем, равен ли результат 10.
print(n)
- Если условие выполнено, выводим значение n.
break
- Завершаем выполнение цикла после нахождения первого подходящего числа.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5 4 1
Forwarded from Программирование на Python | itpy 💻
Метод
.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()
изменяет порядок элементов в списке на обратный. Пример: 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()
возвращает количество вхождений заданного элемента в список. Пример:my_list = [1, 2, 2, 3, 4, 2]
print(my_list.count(2)) # Вывод: 3
Метод .
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()
возвращает индекс первого вхождения заданного элемента в списке. Пример:my_list = [1, 2, 3, 2, 4]
print(my_list.index(2)) # Вывод: 1
Метод
.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