Задача 7. Года

Недавно Костя прочитал какую-то научно-фантастическую книжку, где самые страшные события случались только в определённые года, а именно — когда в году были ровно три одинаковые цифры. Косте стало интересно какие года были или будут “особенными” в определённом промежутке.

Напишите программу, в которой у пользователя запрашивается два четырёхзначных числа A и B. Затем выведите в порядке возрастания все четырёхзначные числа в интервале от A до B, запись которых содержит ровно три одинаковые цифры.

Пример:

Введите первый год: 1900
Введите второй год: 2100

Года от 1900 до 2100 с тремя одинаковыми цифрами:
1911
1999
2000
2022

Решение:

def three_digits(y1, y2):
    for i in range(y1, y2 + 1):
        a = i // 1000
        b = i // 100 % 10
        c = i // 10 % 10
        d = i % 10
        if a == b == c or b == c == d:
            #or c == d == a or a == b == d:
            print(i)

years = int(input('Введите первый год: '))
years2 = int(input('Введите второй год: '))
print(f'Года от {years} до {years2} с тремя одинаковыми цифрами:')
three_digits(years, years2)

P.S.: Было получено замечание от преподавателя, что нужны только года, где именно три цифры одинаковые. пришлось часть условия закомментировать.

3080login-checkЗадача 7. Года

Добавить комментарий