Чтобы решить задачу поиска ближайшей красивой даты в формате дд.мм.гг, мы будем последовательно проверять даты, начиная с заданной, и искать дату, где все части даты (день, месяц, год) одинаковые.
Вот решение на языке Python:
```python
from datetime import datetime, timedelta
def is_beautiful_date(date_str):
day, month, year = date_str.split('.'
return day == month == year
def find_next_beautiful_date(start_date_str):
start_date = datetime.strptime(start_date_str, "%d.%m.%y"
one_day = timedelta(days=1)
current_date = start_date
while True:
current_date_str = current_date.strftime("%d.%m.%y"
if is_beautiful_date(current_date_str):
return current_date_str
current_date += one_day
# Пример использования
input_date = "12.12.12"
next_beautiful_date = find_next_beautiful_date(input_date)
print(next_beautiful_date)
```
### Объяснение кода:
1. **Функция `is_beautiful_date(date_str)`**:
- Разбивает строку даты на день, месяц и год.
- Проверяет, равны ли все три части даты.
2. **Функция `find_next_beautiful_date(start_date_str)`**:
- Преобразует строку начальной даты в объект `datetime`.
- Использует цикл `while True`, который будет продолжаться до тех пор, пока не найдется красивая дата.
- Внутри цикла:
- Преобразует текущую дату в строку формата дд.мм.гг.
- Проверяет, является ли текущая дата красивой с помощью функции `is_beautiful_date`.
- Если дата красивая, возвращает её.
- Если дата не красивая, увеличивает текущую дату на один день.
3. **Основная часть программы**:
- Читает дату из входных данных.
- Вызывает функцию `find_next_beautiful_date` для поиска следующей красивой даты.
- Печатает результат.
Этот код будет находить и выводить ближайшую красивую дату, начиная с заданной. Например, если ввести "12.12.12", то ближайшая красивая дата будет "22.02.22".