Информатика | Илья Андрианов | itpy 🧑‍💻
1.05K 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


🚩 .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]


Информатика ЕГЭ | itpy 👨‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1343
👩‍💻 Мастерим срезы в 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.

Информатика ЕГЭ | itpy 👨‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
10443
Стало интересно сколько баллов планируете набрать на ЕГЭ по информатике? 🤔
Anonymous Poll
6%
0-40
7%
40-60
12%
60-70
21%
70-80
23%
80-90
13%
90-95
18%
95-100
854
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 9076 #kege по информатике #ЕГЭ25
Автор: А.Богданов
Уровень: Базовый


🚩 Условие задачи:
Найдите все натуральные числа, не превышающие 10**9, которые соответствуют маске 20*23 и при этом без остатка делятся на 2023, а сумма цифр каждого такого числа кратна 7 и меньше 20.


🚩 Теоретическая справка:
Сумму цифр строки можно найти используя: summa = sum(map(int, s))


👩‍💻 Код решения:
from fnmatch import *
for x in range(2023, 10**9, 2023):
if fnmatch(str(x), '20*23'):
summa = sum([int(i) for i in str(x)])
if summa % 7 == 0 and summa < 20:
print(x)

# Ответ:
# 2023
# 204323
# 2025023
# 20232023
# 202302023


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

1⃣ from fnmatch import *
Импорт всех элементов модуля fnmatch. Этот модуль используется для сравнения строк с шаблонами, используя стандартные символы для подстановок.


2⃣ for x in range(2023, 10**9, 2023):
Цикл for, который перебирает числа, начиная от 2023 и до 1000000000 с шагом 2023.


3⃣ if fnmatch(str(x), '20*23'):
Проверка, соответствует ли строковое представление числа x шаблону '20*23'. Это используется для проверки определенного условия на соответствие числа некоторому шаблону.


4⃣ summa = sum([int(i) for i in str(x)])
Вычисление суммы всех цифр в числе x. Для этого строковое представление числа разбивается на отдельные цифры, каждая из которых преобразуется в целое число, после чего вычисляется сумма.


5⃣ if summa % 7 == 0 and summa < 20:
Проверка, делится ли сумма цифр числа x на 7 без остатка и при этом не превышает ли сумма 20.


6⃣ print(x)
Вывод числа x, которое удовлетворяет условиям, описанным выше. Если число соответствует условиям, оно будет выведено.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1054
👩‍💻 Все методы строк в Python, которые могут понадобиться на ЕГЭ #tpy

🚩 .REPLACE()

Метод .replace(old, new, count) используется для замены подстроки old на new в строке. Можно указать count, чтобы ограничить количество замен.
s = "Hello, World!"
new_s = s.replace("Hello", "Hi")
print(new_s) # Вывод: "Hi, World!"


🚩 .INDEX()

Метод .index(substring) возвращает индекс первого вхождения подстроки substring в строке. Если подстрока не найдена, возникает ошибка.
s = "Hello, World!"
index = s.index("World")
print(index) # Вывод: 7


🚩 .COUNT()

Метод .count(substring) возвращает количество вхождений подстроки substring в строке.
s = "How much wood would a woodchuck chuck if a woodchuck could chuck wood?"
count = s.count("wood")
print(count) # Вывод: 4


🚩 .SPLIT()

Метод .split(separator) разбивает строку на подстроки по указанному разделителю separator и возвращает список подстрок.
s = "Split this s into words"
words = s.split(" ")
print(words) # Вывод: ["Split", "this", "s", "into", "words"]


🚩 "".JOIN()

Метод "".join(iterable) объединяет строки из итерируемого объекта в одну строку, разделяя их пустой строкой.
words = ["Join", "these", "words"]
s = "".join(words)
print(s) # Вывод: "Jointhesewords"


🚩 .ISDIGIT()

Метод .isdigit() проверяет, состоит ли строка только из цифровых символов. Возвращает True или False.
number = "12345"
is_digit = number.isdigit()
print(is_digit) # Вывод: True


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

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤️‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Чтение файла для 24 номера:
s = open('24.txt').readline()


🚩 Способ замены подстроки из файла:
s = s.replace('1', '2').replace('W', 'R')


🚩 Ищем подстроку наибольшей длины:
print(max([len(x) for x in s.split()]))


🚩 Ищем в строке s четверки символов:
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1255
🔤🔤🔤🔤🔤🔤🔤🔤 🔤🔤 🔤🔤🔤🔤🔤🔤🔤

🚩 Ребята, завтра я буду помогать вам, отвечать на вопросы и решать задания в прямом эфире. Присоединяйтесь к нашему чату и присылайте все ваши вопросы/задания туда, постараюсь оперативно отвечать и делать разборы.
Please open Telegram to view this post
VIEW IN TELEGRAM
1266
Дорогие подписчики! Наступил час, когда ваш труд и усердие будут испытаны экзаменом. Помните, что вы проделали огромную работу, и теперь настал момент продемонстрировать всю свою подготовку. Верьте в себя, вы способны преодолеть любые трудности! Ни пуха, ни пера 🍀
Please open Telegram to view this post
VIEW IN TELEGRAM
331066
🚩 Разбор ДВ #2024 номера #8 по информатике #ЕГЭ8

🚩 Условие задачи:
Определите количество 9-тиричных б-тизначных чисел, которые не начинаются с нечетных цифр, не оканчиваются цифрами 2 или 3, содержат не менее двух цифр 1



👩‍💻 Код решения:
from itertools import *
cnt = 0
for x in product('012345678', repeat=6):
num = ''.join(x)
if num[0] != "0" and num[0] not in '1357':
if num[-1] not in '23' and num.count('1') >= 2:
cnt += 1
print(cnt)

# Ответ: 19868


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

1. from itertools import *
Импорт модуля `itertools`, который предоставляет функции для работы с итераторами.


2. cnt = 0
Инициализация переменной `cnt` с начальным значением 0, которая будет использоваться для подсчета условий, удовлетворяющих заданным критериям.


3. for x in product('012345678', repeat=6):
Цикл `for`, в котором переменная `x` принимает все возможные комбинации длиной 6 из элементов '012345678', сгенерированные с помощью функции `product` из модуля `itertools`.


4. num = ''.join(x)
Создание строки `num`, объединяя элементы кортежа `x` в одну строку.


5. if num[0] != "0" and num[0] not in '1357':
Проверка условия: первая цифра числа `num` не равна "0" и не содержится в строке '1357'.


6. if num[-1] not in '23' and num.count('1') >= 2:
Дополнительная проверка: последняя цифра числа `num` не содержится в строке '23' и количество цифр '1' в числе `num` больше или равно 2.


7. cnt += 1
Увеличение значения переменной `cnt` на 1 в случае, если число `num` удовлетворяет всем условиям.


8. print(cnt)
Вывод на экран значения переменной `cnt`, которая содержит количество чисел `num`, удовлетворяющих заданным условиям.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
832
🚩🚩 Разбор ДВ #2024 номера #15 по информатике #ЕГЭ15

🚩 Условие задачи:
Для какого наименьшего натурального числа А логическое выражение истинно при любом целом положительном значении переменной х:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 5) ) ∨ (x + A >= 70)



👩‍💻 Код решения:
def F(x, A):
return (((x % 2 == 0) <= (x % 5 != 0)) or (x + A >= 70))

for A in range(1, 1000):
if all(F(x, A) for x in range(1, 10000)):
print(A)
break

# Ответ: 60


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

1. def F(x, A):
Объявление функции `F` с аргументами `x` и `A`.


2. return (((x % 2 == 0) <= (x % 5 != 0)) or (x + A >= 70))
Возвращение значения, которое зависит от выполнения логических условий: (x четное <= x не делится на 5) или (сумма x и A больше или равна 70).


3. for A in range(1, 1000):
Цикл `for`, в котором переменная `A` принимает значения от 1 до 999.


4. if all(F(x, A) for x in range(1, 10000)):
Проверка, что для всех значений `x` от 1 до 9999 функция `F(x, A)` возвращает `True`.


5. print(A)
Вывод на экран значения `A`, при котором условие для всех `x` выполняется.


6. break
Прерывание цикла после первого найденного значения `A`, удовлетворяющего условию для всех `x`.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
833
🚩🚩 Разбор ДВ #2024 номера #23 по информатике #ЕГЭ23

🚩 Условие задачи:
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами:
А. Вычти 2
В. Найди целую часть от деления на 2
Сколько существует программ, для которых при исходном число 30 результатом является число 1, и при этом траектория вычислений содержит число 14?



👩‍💻 Код решения:
def F(a, b):
if a <= b:
return a == b
return F(a-2, b) + F(a//2, b)

print(F(30, 14) * F(14, 1))

# Ответ: 36


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

1. def F(a, b):
Объявление функции `F` с аргументами `a` и `b`.


2. if a <= b:
Проверка условия: если `a` меньше или равно `b`.


3. return a == b
Возвращение результата сравнения `a` и `b`, если они равны.


4. return F(a-2, b) + F(a//2, b)
Возвращение суммы рекурсивных вызовов функции `F` с аргументами `a-2, b` и `a//2, b`.


5. print(F(30, 14) * F(14, 1))
Вывод на экран произведения результатов вызовов функции `F` с аргументами `(30, 14)` и `(14, 1)`.



Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
643
🚩🚩 Разбор ДВ #2024 номера #13 по информатике #ЕГЭ13

🚩 Условие задачи:
Сеть задана IP-адресом 106.184.0.0 и сетевой маской 255.248.0.0.
Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 2?



👩‍💻 Код решения:
from ipaddress import *
net = ip_network("106.184.0.0/255.248.0.0", 0)
cnt = 0
for ip in net:
if f'{ip:b}'.count('1') % 2 != 0:
cnt += 1
print(cnt)

# Ответ: 262144


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

1. from ipaddress import *
Импорт всех объектов из модуля `ipaddress`, который предоставляет классы для работы с IP-адресами и сетями.


2. net = ip_network("106.184.0.0/255.248.0.0", 0)
Создание объекта сети IP с помощью функции `ip_network`, где указаны начальный IP-адрес "106.184.0.0" и маска подсети "255.248.0.0".


3. cnt = 0
Инициализация переменной `cnt` для подсчета количества IP-адресов с определенным свойством.


4. for ip in net:
Цикл `for`, который проходит по всем IP-адресам в созданной сети `net`.


5. if f'{ip:b}'.count('1') % 2 != 0:
Проверка условия: если количество единиц в двоичном представлении IP-адреса `ip` нечетное.


6. cnt += 1
Увеличение счетчика `cnt` на 1, если условие из предыдущей строки выполнено для текущего IP-адреса.


7. print(cnt)
Вывод на экран количества IP-адресов, для которых количество единиц в двоичном представлении нечетное.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
622
🚩🚩 Разбор ДВ #2024 номера #13 по информатике #ЕГЭ13

🚩 Условие задачи:
Алгоритм вычисления значения функции F[n], где п - натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1
F(n) = 2 * n * F(n - 1), если п >1
Чему равно значение выражения (F(2024) - 4 * F(2023)) / F(2022) ?


👩‍💻 Код решения:
from functools import *
@lru_cache(None)
def F(n):
if n == 1:
return 1
if n > 1:
return 2 * n * F(n - 1)

for i in range(2025):
F(i)

print((F(2024) - 4 * F(2023)) // F(2022))

# Ответ: 16362024


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

1. from functools import *
Импорт модуля `functools`, который предоставляет несколько полезных функций, связанных с функциональным программированием.


2. @lru_cache(None)
Декоратор `@lru_cache(None)`, который используется для кэширования результатов функции `F`, чтобы избежать повторных вычислений.

3. def F(n):
Объявление функции `F` с аргументом `n`.


4. if n == 1:
Проверка условия: если `n` равно 1.

5. if n > 1:
Проверка условия: если `n` больше 1.


6. return 2 * n * F(n - 1)
Возвращение результата умножения `2 * n` на рекурсивный вызов функции `F` с аргументом `(n - 1)`.


7. for i in range(2025):
Цикл `for`, который проходит по значениям от 0 до 2024 (не включая 2025).


8. F(i)
Вызов функции `F` для каждого значения `i` в диапазоне от 0 до 2024.


9. print((F(2024) - 4 * F(2023)) // F(2022))
Вывод на экран результата выражения `(F(2024) - 4 * F(2023)) // F(2022)`, которое содержит вызовы функции `F` с различными аргументами.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
644
🚩 Разбор ДВ #2024 номера #5 по информатике #ЕГЭ5

🚩 Условие задачи:
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а] Если сумма цифр двоичной записи числа четная, то к этой записи справа дописывается 0, и затем два левых разряда двоичной записи заменяются на 10.
б) Если сумма цифр двоичной записи числа нечетная, то к этой записи справа дописывается 1, а затем два левых разряда двоичной записи заменяются на 11. Полученная таким образом запись является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.

Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, меньшее 20.



👩‍💻 Код решения:
R = []
for n in range(2000):
s = bin(n)[2:]
if s.count('1') % 2 == 0:
s = '10' + s[2:] + '0'
else:
s = '11' + s[2:] + '1'
r = int(s, 2)
if r < 20:
R.append(n)
print(max(R))

# Ответ: 12


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

1. R = []
Создание пустого списка `R`, в который будут добавляться значения.


2. for n in range(2000):
Цикл `for`, который проходит по значениям от 0 до 1999.


3. s = bin(n)[2:]
Преобразование числа `n` в двоичное представление и сохранение его в переменной `s`, исключая первые два символа, которые обозначают приставку "0b".


4. if s.count('1') % 2 == 0:
Проверка условия: если количество единиц в строке `s` делится на 2 без остатка.


5. s = '10' + s[2:] + '0'
Изменение строки `s`, добавляя приставку "10" в начало и "0" в конец исходной строки `s`, начиная с третьего символа.


6. else:
Выполняется, если условие в пункте 4 не выполнено.


7. s = '11' + s[2:] + '1'
Изменение строки `s`, добавляя приставку "11" в начало и "1" в конец исходной строки `s`, начиная с третьего символа.


8. r = int(s, 2)
Преобразование строки `s` из двоичного представления в целое число и сохранение результата в переменной `r`.


9. if r < 20:
Проверка условия: если значение `r` меньше 20.


10. R.append(n)
Добавление значения `n` в список `R`.

11. print(max(R))
Вывод на экран максимального значения из списка `R`.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
6321
🚩🚩 Разбор ДВ #2024 номера #14 по информатике #ЕГЭ14

🚩 Условие задачи:
Значение арифметического выражения 3**100 - х, где х - целое положительное число, не превышающее 2030, записали в троичной системе счисления.
Определите наименьшее значение х, при котором в троичной записи числа, являющегося значением данного арифметического выражения, содержится ровно два нуля.
В ответе запишите число в десятичной системе счисления.


👩‍💻 Код решения:
 
for x in range(1, 2030):
n = 3**100 - x
R = []
while n > 0:
R = [n % 3] + R
n //= 3
if R.count(0) == 2:
print(x)
break

# Ответ: 9


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

1. for x in range(1, 2030):
Цикл `for`, который проходит по значениям `x` от 1 до 2029.


2. n = 3**100 - x
Вычисление значения `n` как разности между `3` в степени `100` и `x`.


3. R = []
Создание пустого списка `R`, который будет содержать цифры в троичной системе счисления.


4. while n > 0:
Цикл `while`, который выполняется до тех пор, пока `n` больше нуля.


5. R = [n % 3] + R
Добавление остатка от деления числа `n` на 3 в начало списка `R`.

6. n //= 3
Целочисленное деление числа `n` на 3 для перехода к следующей цифре троичной записи.


7. if R.count(0) == 2:
Проверка условия: если в списке `R` ровно два раза встречается цифра 0.

8. print(x)
Вывод значения `x`, которое соответствует условиям задачи.

9. break
Прерывание цикла, если было найдено первое подходящее значение `x`.

Информатика ЕГЭ | itpy
🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
733
🚩🚩 Разбор ДВ #2024 номера #14 по информатике #ЕГЭ14

🚩 Условие задачи:
Дано арифметическое выражение:
123XAB_31 + 3CEX321_31

Переменная х в каждом числе обозначает неизвестную цифру 31-ричной системы счисления. Необходимо найти наибольшее возможное значение х, при котором значение данной суммы кратно 17. В ответе необходимо указать частное от деления значения данной суммы на 17 в десятичной системе счисления. Основание системы счисления указывать не
нужно.


👩‍💻 Код решения:
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
for x in alphabet[:31]:
A = int(f'123{x}AB', 31)
B = int(f'3CE{x}321', 31)
if (A + B) % 17 == 0:
print((A + B) // 17)

# Ответ: 179431046


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

1. alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
Создание отсортированного списка `alphabet`, содержащего символы цифр и заглавных латинских букв.


2. for x in alphabet[:31]:
Цикл `for`, который перебирает первые 31 элемент из списка `alphabet`.


3. A = int(f'123{x}AB', 31)
Преобразование строки `f'123{x}AB'` в число в системе счисления 31 и сохранение этого числа в переменной `A`.


4. B = int(f'3CE{x}321', 31)
Преобразование строки `f'3CE{x}321'` в число в системе счисления 31 и сохранение этого числа в переменной `B`.


5. if (A + B) % 17 == 0:
Проверка условия: если сумма чисел `A` и `B` делится на 17 без остатка.


6. print((A + B) // 17)
Вывод на экран частного от деления суммы чисел `A` и `B` на 17.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
833