Информатика | Илья Андрианов | itpy 🧑💻
Кстати вот еще один вариантик написания функции перевода из base системы счисления в 10-ную:
Про enumerate писал здесь.
Информатика ЕГЭ | itpy👨💻
Тут отвечают на вопросы❔
def my_int(num, base):
return sum(x*base**i for i, x in enumerate(num[::-1]))
R = []
for x in range(0, 80):
A = my_int([3, x, 7, 5], 80) + my_int([1, 4, x, 0], 80)
if A % 17 == 0:
R.append(A // 17)
print(max(R))
# Ответ: 146405
Про enumerate писал здесь.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
f-строки в Python - это удобный и мощный инструмент для форматирования вывода данных.
Дадим небольшой обзор возможностей f-строк, которые помогут вам в различных сценариях использования:
Обычно для этого использовали функции bin(), oct() и hex(). С f-строками это можно сделать гораздо проще:
num = 10
print(f'{num:b}') # Вывод: '1010'
print(f'{num:o}') # Вывод: '12'
print(f'{num:X}') # Вывод: 'A'
Можно указать количество символов, до которого нужно дописать ведущие нули:
num1 = 10
num2 = -10
x = 5
print(f'{num1:08b}') # Вывод: '00001010'
print(f'{num2:08}') # Вывод: '-0000010'
print(f'{10:0{x}}') # Вывод: '00010'
Понравился пост? Поддержи реакцией:
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Подготовил для вас методическое пособие по решению 14 номера!
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
from string import *
alphabet = digits + ascii_uppercase
for y in alphabet[:n]:
x = int(f'79{x}{y}7', n)
bin()[2:] # перевод в 2-ую
oct()[2:] # перевод в 8-ую
hex()[2:] # перевод в 16-ую
x = 27
print(f'{x:b}') # 11011
print(f'{x:o}') # 33
print(f'{x:x}') # 1b
print(f'{x:X}') # 1B
Информатика ЕГЭ | itpy
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
Ребята, сегодняшний веб вынуждено переносится на ближайшую среду (24 число) по техническим причинам..
Предлагаю сохранить то же время проведения (18:00 по Мск) 🤔
Предлагаю сохранить то же время проведения (18:00 по Мск) 🤔
Вы, как будущие IT-специалисты, так или иначе будете изучать элементы высшей математики в университете или колледже. Такие дисциплины, как: математический анализ, линейная алгебра, дискретная математика, дифференциальные уравнения и другие, будут входить в вашу программу обучения.
Возможно, у вас, так же как и у меня в школе, сейчас напряженные отношения с этим предметом, но поверьте мне - высшая математика намного интереснее, чем школьная! Хочу поделиться с вами полезным видео от Редакции:
Смотреть видео на YouTube
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Ты живешь БЛАГОДАРЯ МАТЕМАТИКЕ! И вот почему! / Редакция.Наука
Математика везде: в куске пиццы и мультиках, в окраске тигров и леопардов, подборе авиабилетов… И конечно, под капотом приложений и нейросетей, которыми мы пользуемся каждый день. Специалисты в исследовательских центрах крупных компаний учатся применять теорию…
This media is not supported in your browser
VIEW IN TELEGRAM
Шкала такая же, как и в прошлом году
17 заданий - 70 баллов
21 задание - 80 баллов
25 заданий - 90 баллов
Последние два номера дают по 2 первичных балла (за каждый ответ), суммарно за них можно получить 10 вторичных.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Функция
permutation()
позволяет вычислить перестановки элементов. Пример кода на Python:from itertools import permutations
# Создаем список элементов
elements = [1, 2, 3]
# Вычисляем все перестановки элементов
perms = permutations(elements)
# Выводим все перестановки
for perm in perms:
print(perm)
Функция
product()
вычисляет декартово произведение двух и более итераций. Пример кода на Python с использованием этой функции:from itertools import product
# Создаем два списка элементов для произведения
list1 = [1, 2]
list2 = ['a', 'b']
# Вычисляем декартово произведение элементов
result = list(product(list1, list2))
# Выводим результат
print(result)
Примеры с использованием этих функций на ЕГЭ были тут:
- Функция permutation()
- Функция product()
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Информатика | Илья Андрианов | itpy 🧑💻
Какой номер разбираем следующий?
Пост про itertools появился не просто так, с завтрашнего дня будем разбирать задачи из 8 номера 🫰
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩7
Информатика | Илья Андрианов | itpy 🧑💻
while True:
s = int(input('Сколько первичных баллов ты планируешь набрать? \n'))
if 1 <= s <= 29:
tab = [7, 14, 20, 27, 34, 40, 43, 46, 48, 51,
54, 56, 59, 62, 64, 67, 70, 72, 75, 78,
80, 83, 85, 88, 90, 93, 95, 98, 100]
print(f'Ты получишь: {tab[s - 1]} баллов! \n')
else:
print('Выход из программы.')
exit()
This media is not supported in your browser
VIEW IN TELEGRAM
Уровень: Базовый
Все четырёхбуквенные слова, составленные из букв А, Л, Г, О, Р, И, Т, М, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Начало списка выглядит так:
1. АААА
2. АААГ
3. АААИ
4. АААЛ
Под каким номером в списке идёт первое слово, которое начинается с букв ИГ?
Функция sorted() позволяет легко получить алфавитный порядок. А оператор break позволяет остановиться на первом слове.
from itertools import product
k = 0
for s in product(sorted('АЛГОРИТМ'), repeat=4):
word = ''.join(s)
k += 1
if word[:2] == 'ИГ':
print(k)
break
from itertools import product
Импортируется функция product из модуля itertools, которая генерирует декартово произведение итерабельных объектов.
k = 0
Инициализируется переменная k, которая будет использоваться для отслеживания количества итераций.
for s in product(sorted('АЛГОРИТМ'), repeat=4):
Запускается цикл for, в котором производится комбинация символов из отсортированной строки 'АЛГОРИТМ' с повторением в 4 раза.
word = ''.join(s)
Создается строка word, объединяя символы из текущей комбинации s.
k += 1
Увеличивается счетчик k на 1 для подсчета количества итераций.
if word[:2] == 'ИГ':
Проверяется, начинается ли текущее слово word с символов 'ИГ'.
print(k)
Если условие выполняется, то выводится значение счетчика k.
break
Происходит прерывание цикла после печати значения счетчика для первого слова, начинающегося с 'ИГ'.
s = sorted('АЛГОРИТМ')
k = 0
for a in s:
for b in s:
for c in s:
for d in s:
word = a + b + c + d
k += 1
if word[:2] == 'ИГ':
print(k)
exit()
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Важно помнить, что методы модуля
itertools
в Python возвращают кортежи, которые представляют собой последовательности отдельных элементов. Это может привести к некоторым недочетам, если не учитывать особенности работы с кортежами.При поиске элементов в кортеже происходит проверка каждого элемента поочередно. Python не проверяет наличие целых групп элементов, а ищет именно указанный кортеж как отдельный элемент.
Например, при поиске кортежа
('A', 'B')
Python не будет искать группу элементов 'A'
и 'B'
, а будет искать именно этот кортеж как целостный элемент кортежа.В отличие от работы с кортежами, при поиске подстроки в строке Python будет искать конкретную последовательность символов внутри строки. Если вы используете оператор
in
, чтобы проверить вхождение последовательности слева от него в строку справа, то будет возвращено значение истины (True
), если подстрока присутствует.Эти нюансы важно учитывать, чтобы избежать ошибок при обработке кортежей и строк в Python.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Уровень: Сложный
Ксения составляет слова из букв К, С, Е, Н, И, Я.
Каждая гласная буква встречается в слове не более двух раз.
Каждая согласная может стоять в слове на первой позиции, либо не встречаться вовсе.
Сколько различных слов длиною более двух символов может составить Ксения?
Особое внимание нужно уделить условию "после".
from itertools import *
cnt = 0
for l in range(3, 7+1):
for s in product('КСЕНИЯ', repeat=l):
word = ''.join(s)
if all(word.count(x) <= 2 for x in 'ЕИЯ'):
sogl = [x for x in word if x in 'КСН']
if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
cnt += 1
print(cnt)
# Ответ: 1059
from itertools import *
Импорт всех функций из модуля itertools.
cnt = 0
Инициализируется переменная cnt, которая будет использоваться для подсчета количества слов, удовлетворяющих заданным условиям.
for l in range(3, 7+1):
Запускается внешний цикл for по длине слова l от 3 до 7 включительно.
for s in product('КСЕНИЯ', repeat=l):
В цикле генерируются все возможные комбинации символов 'КСЕНИЯ' длины l.
word = ''.join(s)
Строка word, объединяя символы из текущего набора s.
if all(word.count(x) <= 2 for x in 'ЕИЯ'):
Проверяется, что количество вхождений символов 'Е', 'И' и 'Я' в слове word не превышает 2 для каждого из них.
sogl = [x for x in word if x in 'КСН']
Формируется список sogl, содержащий только согласные буквы из слова word (символы 'К', 'С', 'Н').
if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
Проверяется условие, что либо в слове есть только одна согласная и это первая буква, либо в слове нет согласных.
cnt += 1
Если слово удовлетворяет условиям, счетчик увеличивается.
print(cnt)
Выводится количество слов, удовлетворяющих условиям.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM