Обработка цифр числа
При изучении целых чисел (тип данных int
), мы говорили про операцию целочисленного деления //
и операцию нахождения остатка от деления одного целого числа на другое %
. Используя цикл while
и две данных операции, можно обработать цифры числа с произвольным количеством разрядов (цифр).
Пусть дано натуральное число n
. Тогда:
- результатом операции
n % 10
– является последняя цифра числа;
- результатом операции
n // 10
– является число с удаленной последней цифрой.
Напишем программу, которая считывает натуральное число (целое положительное) и обрабатывает его цифры.
n = int(input())
while n != 0:
last_digit = n % 10
n = n // 10
Цикл while
работает до тех пор пока в числе есть необработанные цифры. Тело цикла содержит:
- процедуру получения последней цифры
last_digit = n % 10
;
- код обработки последней цифры;
- процедуру удаления последней цифры из числа
n = n // 10
.
В качестве процедуры обработки может быть все, что угодно: вывод цифр, нахождение суммы, произведения цифр, нахождение наибольшей или наименьшей цифры, подсчет цифр удовлетворяющих некоторому условию и т.д.
Напишем программу, которая определяет есть ли в числе цифра 7.
num = int(input())
has_seven = False
while num != 0:
last_digit = num % 10
if last_digit == 7:
has_seven = True
num = num // 10
if has_seven == True:
print('YES')
else:
print('NO')