Python 用于在年份列表中列出闰年数的函数

Python 用于在年份列表中列出闰年数的函数,python,list,leap-year,Python,List,Leap Year,我不是在寻找答案,而是在寻找一个指向正确方向的指针,让我自己找到答案 我有一个问题,我有一个函数返回八年列表中的闰年数。我不确定如何处理这个问题。我尝试过使用FOR循环,也尝试过同时使用calendar.isleap和calendar.leapdays方法,但我似乎遗漏了一些东西,因为我仍然会遇到错误 ---代码如下--- (学生代码在这里。) 我已经编辑并提出了这个问题,因为我的请求被标记为暂停,因为似乎没有足够的信息。以上就是实际问题 我尝试的是: ly = 0 for i in yearL

我不是在寻找答案,而是在寻找一个指向正确方向的指针,让我自己找到答案

我有一个问题,我有一个函数返回八年列表中的闰年数。我不确定如何处理这个问题。我尝试过使用FOR循环,也尝试过同时使用calendar.isleap和calendar.leapdays方法,但我似乎遗漏了一些东西,因为我仍然会遇到错误

---代码如下---

(学生代码在这里。)

我已经编辑并提出了这个问题,因为我的请求被标记为暂停,因为似乎没有足够的信息。以上就是实际问题

我尝试的是:

ly = 0
for i in yearList:
    if i % 4 == 0:
        ly += 1

谢谢。

如果您只是在正确的方向上寻找指针,这里是您试图调用的函数的源代码。文档字符串可能会有帮助:D

def leapdays(y1, y2):
    """Return number of leap years in range [y1, y2).
       Assume y1 <= y2."""
    y1 -= 1
    y2 -= 1
    return (y2//4 - y1//4) - (y2//100 - y1//100) + (y2//400 - y1//400)
def闰日(y1,y2):
“”“返回范围[y1,y2]内的闰年数。”。

假设y1如果您只是在正确的方向上寻找指针,那么这里是您试图调用的函数的源代码

def leapdays(y1, y2):
    """Return number of leap years in range [y1, y2).
       Assume y1 <= y2."""
    y1 -= 1
    y2 -= 1
    return (y2//4 - y1//4) - (y2//100 - y1//100) + (y2//400 - y1//400)
def闰日(y1,y2):
“”“返回范围[y1,y2]内的闰年数。”。

假设y1考虑到您的输入是一个列表,而不是两个值之间的范围,您当前试图调用错误的函数


我建议您编写自己的函数,将列表作为输入参数,并在其算法中使用模运算符:

考虑到您的输入是一个列表,而不是两个值之间的范围,您当前试图调用错误的函数


我建议您编写自己的函数,将列表作为其输入参数,并在其算法中使用模运算符:

好的……感谢您为我提供的少量输入。在一些帮助下,我找到了正确的方向。它可以工作,答案也正是我所希望的

import calendar

def countLeapYears(yearList):

    j=0
    for i in listYears:
        if calendar.isleap(int(i)):
            j += 1
    return j
预期产出:2

打印(count)年份([2001、2018、2020、2090、2233、2176、2200、, 2982]))

预期产出:4

打印(计数)年份([2001、2018、2020、2092、2204、2176、2200、, 2982]))


好的…谢谢你给我的一些建议。在一些帮助下,我找到了正确的方向,这就是我所拥有的。它是有效的,答案也是我应该得到的

import calendar

def countLeapYears(yearList):

    j=0
    for i in listYears:
        if calendar.isleap(int(i)):
            j += 1
    return j
预期产出:2

打印(count)年份([2001、2018、2020、2090、2233、2176、2200、, 2982]))

预期产出:4

打印(计数)年份([2001、2018、2020、2092、2204、2176、2200、, 2982]))


您好!如果您显示您尝试过的代码,这会更好:-)另外,您可以直接将错误代码粘贴到文本而不是图像上吗?好的…所以我根据暂停通知上的注释编辑了这个问题…通常需要多长时间才能将其从暂停中释放?您好!如果您显示您尝试过的代码,这会更好:-)另外,可以吗请将错误代码直接粘贴到文本而不是图像上?好的……因此,我根据暂停通知上的注释编辑了这个问题……通常需要多长时间才能将其从暂停状态中释放出来?实际的函数名和所需的打印语句都已为我列出,我只需在函数名后编写代码。因此,对于例如,函数如下所示:def leapyearlist(leapYears):print(leapyearlist([1999,2004,2008,2149]))您的代码在函数调用点失败。需要两个参数。您缺少第二个参数,因此出现失败消息。是的,请看…我不确定它是否需要leapdays。可能是我没有看到的其他内容。抱歉…不是故意含糊不清…试图了解在没有你们帮我解决的情况下该怎么办。D我在这里已经读了足够多的帖子,看看人们在为别人写作业时是如何被嘲笑的。:-)实际的函数名和所需的print语句都为我准备好了,我所需要做的就是在函数名后编写代码。例如,函数如下所示:defleapyearlist(leapYears):打印(leapyearlist([1999,2004,2008,2149]))您的代码在函数调用点失败。需要两个参数。您缺少第二个参数,因此出现失败消息。是的,请看…我不确定它是否需要leapdays。可能是我没有看到的其他内容。抱歉…不是故意含糊不清…试图了解在没有你们帮我解决的情况下该怎么办。D我不会以这种方式学习任何东西,我在这里已经读了足够多的帖子,看看人们在为别人写作业时是如何被嘲笑的。:-)