首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中计算月份中的天数

在Python中计算月份中的天数
EN

Stack Overflow用户
提问于 2018-06-17 04:27:05
回答 1查看 3.1K关注 0票数 -3

有没有人能帮我写一下python代码?

我正在学习python,我有一个错误我不能修复,我不能理解哪里出了问题。

那么,有没有人可以帮我解决这个问题,告诉我为什么它是错误的?

def leap_year(year):
    if year % 400 == 0:
        return True
    elif year % 100 == 0:
        return False
    elif year % 4 == 0:
        return True
    else:
        return False

def days_in_month(month):
    if month == 1 or month == 3 or month == 5 or month == 7 \
    or month == 8 or month == 10 or month == 12:
        return month == 31
    elif month == 2:
        if leap_year(year):
            return 29
        else:
            return 28
    else:
        return 30
EN

回答 1

Stack Overflow用户

发布于 2018-06-17 04:33:25

你的代码中有几个bug:

  • days_in_monthmonthyear的函数。定义它accordingly.
  • Returning month == 31没有任何意义。您的输出应为天数,而不是布尔值。

此外,我还简化了代码以减少or / if / elif / else语句的数量。

def leap_year(year):
    if year % 400 == 0:
        return True
    if year % 100 == 0:
        return False
    if year % 4 == 0:
        return True
    return False

def days_in_month(month, year):
    if month in {1, 3, 5, 7, 8, 10, 12}:
        return 31
    if month == 2:
        if leap_year(year):
            return 29
        return 28
    return 30

print(days_in_month(2, 2016))  # 29
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50891506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档