Слайд 3
🔢 Обработка цифр числа
При помощи операторов // (целочисленное деление) и % (остаток от деления) можно вычислить любую цифру числа.
📗 Пример: двузначное число
num = 17
a = num % 10 # последняя цифра
b = num // 10 # первая цифра
print(a)
print(b)
Вывод:
7
1
💡 Запомни:
- Последняя цифра числа вычисляется как
num % 10. - Чтобы “срезать” последнюю цифру, делим число нацело на 10:
num // 10.
📘 Пример: трёхзначное число
num = 754
a = num % 10 # последняя цифра
b = (num % 100) // 10 # средняя цифра
c = num // 100 # первая цифра
print(a)
print(b)
print(c)
Вывод:
4
5
7
Здесь программа выводит последнюю, среднюю и первую цифры числа — именно в таком порядке.
📐 Алгоритм получения цифр n-значного числа
Можно определить каждую цифру n-значного числа num с помощью последовательного деления и взятия остатка:
- Последняя цифра:
num % 10 - Предпоследняя цифра:
(num // 10) % 10 - Предпредпоследняя цифра:
(num // 100) % 10 - Третья цифра:
(num // 10 ** (n - 3)) % 10 - Вторая цифра:
(num // 10 ** (n - 2)) % 10 - Первая цифра:
num // 10 ** (n - 1)
Общая формула для i-й цифры числа:
(num // 10 ** (n - i)) % 10
📊 Здесь:
n— количество цифр в числеi— позиция цифры, считая слева (1 — первая цифра, n — последняя)
📙 Альтернативный способ
Можно также использовать деление с остатком, но в другом порядке:
- Последняя цифра:
num % 10 - Предпоследняя цифра:
(num % 100) // 10 - Предпредпоследняя цифра:
(num % 1000) // 100 - Третья цифра:
(num % 10 ** (n - 2)) // (10 ** (n - 3)) - Вторая цифра:
(num % 10 ** (n - 1)) // (10 ** (n - 2)) - Первая цифра:
(num % 10 ** n) // (10 ** (n - 1))
Общая формула для i-й цифры числа:
num % 10 ** (n + 1 - i) // (10 ** (n - i))
⚙️ Оба алгоритма работают одинаково корректно — выбирай тот, который тебе проще запомнить.