Написание программы на дни в месяцах - PullRequest
0 голосов
/ 07 ноября 2018

Итак, я пытаюсь написать код, где бы ни было число месяца, он возвращает мне количество дней в этом месяце.Вот код, который я написал на данный момент.Я правильно понял некоторые месяцы, а остальные нет.Может кто-нибудь указать, что я сделал не так с кодировкой?

def get_days_in_month (month):
    if (month == 2):
        return 28
    elif (month == 4 + 6 + 9 + 11):
        return 30
    elif (month == 1 + 3 + 5 + 7 + 8 + 10 +12):
        return 31
    else:
        return 31

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Лучшая идея:

Используйте встроенный в Python калькулятор. Используйте monthrange и введите (int) года и месяца

monthrange (год, месяц): возвращает день недели первого дня месяца и количество дней в месяце, за указанный год и месяц

from calendar import monthrange

def get_days_in_month (year,month):
    month_data= monthrange(year, month)
    # If you only want DAYS, use month_data[1] 
get_days_in_month(2018,1)
0 голосов
/ 07 ноября 2018

Вы добавляете числа 4, 6, 9, 11. Вместо этого вы можете проверить, равняется ли month одному из них, используя ключевое слово in и list:

def get_days_in_month(month):

    if (month == 2):
        return 28
    elif (month in [4, 6, 9, 11]):
        return 30
    else:
        return 31
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...