Автор: Статград
Уровень: Базовый
Условие задачи:
Найдите все натуральные числа, не превышающие 10**9, которые соответствуют маске 4*64*9?7 и при этом без остатка делятся на 9117. В ответе запишите все найденные числа в порядке возрастания.
Код решения:
Ответ:
# 464967
# 41764977
# 406444977
# 436439907
# 464337927
# 464884947
Комментарии к коду:
- from fnmatch import *
Импорт всех функций из модуля fnmatch, который предоставляет возможность использовать шаблоны для сравнения строк. - for x in range(9117, 10**9, 9117):
Цикл for для переменной x в диапазоне от 9117 до 10^9 с шагом 9117. - if fnmatch(str(x), '4*64*9?7'):
Проверка условия: если строковое представление числа x соответствует шаблону '4*64*9?7' с помощью функции fnmatch. - print(x)
Вывод числа x, которое удовлетворяет условию проверки шаблона.
Таким образом, приведенный код ищет числа в заданном диапазоне, которые соответствуют шаблону '4*64*9?7', где символ * означает любую последовательность символов, а символ ? означает любой одиночный символ.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻 Вы найдете тут много полезного!