B level. Write a program that receives a day and month number and determines the date of the next day. Assume

  • 15
B level. Write a program that receives a day and month number and determines the date of the next day. Assume a non-leap year (365 days). Example: Enter the day and month: 25 12 Next day: December 26 Example: Enter the day and month: 28 2 Next day: March 1
Солнечный_Смайл
66
Хорошо, вот пошаговое решение задачи:

1. Ввод данных: Пользователь вводит день и месяц.
2. Проверка ввода: Проверяем корректность введенных данных. Убеждаемся, что введенные числа находятся в допустимых диапазонах.
3. Определение количества дней в каждом месяце: Создаем список, в котором указано количество дней в каждом месяце, с учетом февраля в невисокосном году.
4. Проверка дня: Сравниваем введенный день с количеством дней в соответствующем месяце. Если день больше, чем количество дней в месяце, переходим на следующий месяц.
5. Увеличение даты: Увеличиваем день на единицу и проверяем, не вышли ли мы за пределы текущего месяца. Если вышли, переходим на следующий месяц.
6. Вывод результата: Выводим результат в виде дня и месяца следующего дня.

Вот программа на Python, решающая данную задачу:

python
# Ввод данных
day, month = map(int, input("Введите день и месяц: ").split())

# Проверка ввода
if month > 12 or month < 1 or day < 1 or day > 31:
print("Введены некорректные данные.")
else:
# Определение количества дней в каждом месяце
days_in_months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

# Проверка дня
if day > days_in_months[month-1]:
day = 1
month += 1

# Увеличение даты
if month > 12:
month = 1

else:
day += 1

# Вывод результата
month_names = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
print("Следующий день: {} {}".format(month_names[month-1], day))


Эта программа получает введенный пользователем день и месяц. Затем она проверяет корректность введенных данных и определяет количество дней в каждом месяце. После этого программа проверяет введенный день и увеличивает его на 1, если это возможно без выхода за пределы текущего месяца. Наконец, программа выводит результат в формате дня и месяца следующего дня.

Надеюсь, данное объяснение и код помогут понять решение данной задачи. Если у вас возникнут какие-либо вопросы, пожалуйста, не стесняйтесь задавать.