Цель: научиться выделять цифры из числа и выполнять операции над ними, используя основные алгоритмические конструкции.
Любое натуральное число записывается с помощью цифр: 13579 — это пять цифр: 1, 3, 5, 7 и 9. Позиция цифры в записи числа называется разрядом: крайняя правая цифра стоит в разряде единиц, левее — в разряде десятков, затем сотен, тысяч и так далее. В языке Python «вынуть» очередную цифру из числа помогают две операции, которые вы изучали в 7 классе: остаток от деления % и целочисленное деление //.
Достаточно знать два правила. Остаток от деления натурального числа на 10 равен его последней цифре, а целочисленное деление на 10 отбрасывает последнюю цифру.
| Запись | Что получим | Пример для n = 13579 |
| n % 10 | последняя цифра числа | 13579 % 10 = 9 |
| n // 10 | число без последней цифры | 13579 // 10 = 1357 |
| n // 10 % 10 | предпоследняя цифра | 13579 // 10 % 10 = 7 |
| n % 100 | число из двух последних цифр | 13579 % 100 = 79 |
Пример 1. Дано натуральное число n. Вывести цифры числа по одной в строке (начиная с разряда единиц). Определить, сколько цифр в числе.
n = int(input("n = "))
k = 0
while n > 0:
# текущая цифра
z = n % 10
print(z)
# уменьшение числа в 10 раз
n //= 10
# подсчёт количества цифр
k = k + 1
print("в числе", k, "цифр(а)")
Результат работы программы:

Алгоритм решения:
- вводим число n;
- обнуляем счётчик цифр: k = 0;
- пока число больше нуля (в нём ещё есть цифры), повторяем: находим последнюю цифру z = n % 10, выводим её на экран, отбрасываем её командой n //= 10 и увеличиваем счётчик k = k + 1;
- когда n станет равным нулю, цикл заканчивается — выводим значение k.
Количество цифр заранее неизвестно, поэтому используется цикл с предусловием while n > 0: он проверяет условие перед каждым шагом и выполняется ровно столько раз, сколько цифр в числе
Проверим работу программы для n = 13579, заполнив таблицу трассировки: на каждом шаге видно, какая цифра выделяется и во что превращается число.
| Шаг | n до проверки | z = n % 10 | n после n //= 10 | k после k += 1 |
| 1 | 13579 | 9 | 1357 | 1 |
| 2 | 1357 | 7 | 135 | 2 |
| 3 | 135 | 5 | 13 | 3 |
| 4 | 13 | 3 | 1 | 4 |
| 5 | 1 | 1 | 0 | 5 |
| Шаг 6: условие n > 0 нарушено (n = 0), цикл завершён. На экран выведены цифры 9 7 5 3 1 и сообщение «в числе 5 цифр(а)». | ||||

Задания по теме урока
Задание 1. Натуральное число n вводится с клавиатуры. Вывести на экран его последнюю цифру.
Подсказка: цикл не нужен — достаточно одной операции.
Задание 2. Натуральное число n вводится с клавиатуры. Найти и вывести сумму его цифр.
Подсказка: алгоритм тот же, что в примере, только вместо вывода цифры накапливайте сумму в переменной s.
Задание 3. ШЕСТИЗНАЧНОЕ число n вводится с клавиатуры. Проверить, равны ли его первые цифры последним трем цифрам. Вывести ответ «Равны», либо «Не равны».
Подсказка: цикл не нужен, с помощью операций целочисленного деления можно сразу получить части числа для сравнения.
Задание 4. Натуральное число n вводится с клавиатуры. Определить, сколько в нём чётных цифр.
Подсказка: цифра z чётная, если z % 2 == 0. Вспомните, что ноль — чётное число. При решении задачи необходимо воспользоваться алгоритмической конструкцией «ветвление»

Домашнее задание
§ 7.6 учебного пособия, ответить на вопросы
