Как определить количество дней в Питоне, вводя номер месяца и дня с клавиатуры? 📅🐍
Чтобы определить количество дней в заданном месяце, необходимо написать программу на Python, которая принимает ввод с клавиатуры номер месяца и день.
month = int(input("Введите номер месяца: "))
day = int(input("Введите день: "))
days_in_month = 0
if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12:
days_in_month = 31
elif month == 4 or month == 6 or month == 9 or month == 11:
days_in_month = 30
elif month == 2:
if (year % 4 == 0 and not year % 100 == 0) or year % 400 == 0:
days_in_month = 29
else:
days_in_month = 28
print(f"В указанном месяце и дне: {days_in_month} дней.")
Детальный ответ
Определение количества дней в месяце в Python
Чтобы написать программу для определения количества дней в месяце в Python, нам нужно ввести номер месяца и день с клавиатуры. Затем мы можем использовать различные конструкции языка Python для выполнения этой задачи.
Использование функции calendar.monthrange()
В Python есть модуль calendar, который предоставляет функцию monthrange(). Эта функция принимает год и номер месяца в качестве аргументов и возвращает кортеж с первым днем недели и количеством дней в этом месяце. Мы можем использовать только второй элемент кортежа для получения количества дней в месяце.
import calendar
# Ввод номера месяца с клавиатуры
month = int(input("Введите номер месяца: "))
# Ввод номера дня с клавиатуры
day = int(input("Введите номер дня: "))
# Получение количества дней в указанном месяце
days_in_month = calendar.monthrange(year, month)[1]
# Вывод результата
print(f"Количество дней в указанном месяце: {days_in_month}")
Использование словаря
Также мы можем использовать словарь, чтобы сопоставить номер месяца с количеством дней. В этом случае мы можем определить количество дней в каждом месяце и затем просто получить соответствующее значение из словаря.
# Создание словаря с количеством дней в каждом месяце
days_in_month_dict = {
1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31
}
# Ввод номера месяца с клавиатуры
month = int(input("Введите номер месяца: "))
# Ввод номера дня с клавиатуры
day = int(input("Введите номер дня: "))
# Получение количества дней в указанном месяце
days_in_month = days_in_month_dict.get(month, 0)
# Проверка високосного года для февраля
if month == 2 and calendar.isleap(year):
days_in_month = 29
# Вывод результата
print(f"Количество дней в указанном месяце: {days_in_month}")
Дополнительные замечания
Обратите внимание, что в обоих примерах мы используем функцию input() для ввода номера месяца и дня с клавиатуры. Убедитесь, что вводимые значения являются целыми числами. Если введено некорректное значение, программа может выдать ошибку или привести к неправильным результатам.
Кроме того, в примере со словарем мы также проверяем, является ли указанный месяц февралем и високосным годом с помощью функции calendar.isleap(). Если это так, то количество дней в феврале будет равно 29.