Информатика ЕГЭ | Илья Андрианов | itpy 🧑‍💻
1.35K subscribers
279 photos
23 videos
19 files
674 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
🔝 Мини-шпаргалка по нужным функциям для 17-го задания ЕГЭ #tpy

🛁 max() | min()
Поиск максимального или минимального числа.

print(max(12, 5), min(12, 5))  
# 12 5

nums = [4, 17, -3, 9]
print(max(nums), min(nums))
# 17 -3


🛁 str() | int()
Переход между строкой и числом.

s = str(19803)
n = int(s) - 1
print(n) # 19802


🛁 abs()
Убирает знак -- важно для длины числа и модульных операций.

n = -1234
len(str(abs(n)))


🛁 sqrt() | x**0.5
Корень -- иногда нужен в проверках (в 17-м редко, но бывает).

form math import sqrt
print(x**0.5, sqrt(x))


🛁 gcd(a, b)
НОД -- полезно при задачах, где условие связано с делителями.

from math import gcd


🛁 floor() | ceil()
Округление вниз|вверх (редко в 17-м, но иногда встречается).

from math import floor, ceil


🛁 int(a, b)
Перевод числа из системы счисления b в десятичную.

int("1011", 2)  # 11


🚀 Полезные лайфхаки:

Сумма цифр
sum(int(x) for x in str(n))


Последняя цифра и “обрезание” числа
n % 10     # последняя цифра
n // 10 # без последней цифры


Перебор троек/пар через zip()
for a, b, c in zip(a, a[1:], a[2:]): ...
for a, b in zip(a, a[2:]): ...


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥11
☄️ Конфликт имён при использовании import * #tpy

Иногда при решении задач ЕГЭ (например 8 номера) учащиеся подключают модули с помощью записи:
from itertools import *

⚠️ Однако это может привести к конфликту имён и ошибкам в программе!


📎 Рассмотрим пример:
count = 0
from itertools import *
for p in permutations('abc'):
count += 1
print(count, p)

💻 Результат:
TypeError: unsupported operand type(s) for +=: 'type' and 'int'


👀 Почему же так получается?
⚙️ Причина в том, что в модуле itertools уже существует объект с именем count, и при импорте через * он перезаписывает нашу переменную count.
В итоге переменная становится функцией, и операция += 1 вызывает ошибку.


✔️ Как рекомендуется делать, чтобы такого не происходило:
count = 0
from itertools import permutations

for p in permutations('abc'):
count += 1
print(count, p)


💻 Вывод программы:
1 ('a', 'b', 'c')
2 ('a', 'c', 'b')
3 ('b', 'a', 'c')
4 ('b', 'c', 'a')
5 ('c', 'a', 'b')
6 ('c', 'b', 'a')

🙂 теперь конфликт имен не возникает, так как мы импортировали, только то, что нам нужно, и count - это все так же наша переменная.


Напоминаю, что ещё больше полезного контента по образованию и саморазвитию вы найдёте на каналах моих коллег, которые я собрал для вас в одну папку 👇👇👇
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2❤‍🔥1
📎 Полезные приёмы и важные детали для #ЕГЭ17-го задания ЕГЭ! #tpy

🛁 Как правильно работать с остатками у отрицательных чисел?
В модульной арифметике отрицательные числа дают “обратный” остаток.
Например, -14 % 106, а не 4.
print(abs(-14) % 10)  # 4

Поэтому используют модуль, чтобы получать нужный результат.


🛁 Как правильно считать длину числа?
У отрицательного числа в строке появляется минус: "-123" -- длина 4. Поэтому используем abs():
print(len(str(abs(-123))))  # 3

Модуль убирает знак и даёт корректную длину.


🛁 Как правильно использовать zip для перебора?

Перебор троек:
for a, b, c in zip(a, a[1:], a[2:]):
Так получается “скользящее окно” из трёх элементов подряд:
(a[0], a[1], a[2]), (a[1], a[2], a[3]) …

Перебор пар через одно:
for a, b in zip(a, a[2:]):
Каждая пара -- это элемент и тот, что стоит через один после него:
(a[0], a[2]), (a[1], a[3]) …

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍1🔥1
🔝 Мини-шпаргалка по нужным функциям для 17-го задания ЕГЭ #tpy

🛁 max() | min()
Поиск максимального или минимального числа.

print(max(12, 5), min(12, 5))  
# 12 5

nums = [4, 17, -3, 9]
print(max(nums), min(nums))
# 17 -3


🛁 str() | int()
Переход между строкой и числом.

s = str(19803)
n = int(s) - 1
print(n) # 19802


🛁 abs()
Убирает знак -- важно для длины числа и модульных операций.

n = -1234
len(str(abs(n)))


🛁 sqrt() | x**0.5
Корень -- иногда нужен в проверках (в 17-м редко, но бывает).

form math import sqrt
print(x**0.5, sqrt(x))


🛁 gcd(a, b)
НОД -- полезно при задачах, где условие связано с делителями.

from math import gcd


🛁 floor() | ceil()
Округление вниз|вверх (редко в 17-м, но иногда встречается).

from math import floor, ceil


🛁 int(a, b)
Перевод числа из системы счисления b в десятичную.

int("1011", 2)  # 11


🚀 Полезные лайфхаки:

Сумма цифр
sum(int(x) for x in str(n))


Последняя цифра и “обрезание” числа
n % 10     # последняя цифра
n // 10 # без последней цифры


Перебор троек/пар через zip()
for a, b, c in zip(a, a[1:], a[2:]): ...
for a, b in zip(a, a[2:]): ...


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