В модульной арифметике отрицательные числа дают “обратный” остаток.
Например,
-14 % 10 → 6, а не 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]) …Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍1🔥1
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:]): ...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4❤🔥4👍2🔥2
📢 Товарищи! Давайте определим, какой номер разобрать в первую очередь. Я хочу сделать для вас серию постов/шпаргалку - плотно, по делу, без воды 🤌
Anonymous Poll
33%
5
5%
14
26%
15
8%
16
28%
23
🔥2❤1