Завантажте застосунок
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Зсуньте дату на цілі календарні місяці й обмежте день останнім днем цільового місяця. Перевірте 31 січня у високосному й звичайному році та від’ємний зсув, відхиляючи дроби й роки поза діапазоном.
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.
Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
from calendar import monthrange
from datetime import date
def add_months(day, delta):
if type(day) is not date or type(delta) is not int:
raise ValueError("month.input")
year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
if not 1 <= year <= 9999:
raise ValueError("month.year")
last = monthrange(year, month0 + 1)[1]
return date(year, month0 + 1, min(day.day, last))Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.