首页 > 解决方案 > 对象不可迭代。我怎样才能使这个代码工作

问题描述

有人可以帮我解决这个问题,为什么它会返回此错误:对象不可迭代。

def leap_year(start_year, end_year):
    for start_year in end_year:
        # Leap Year Check
        if start_year % 4 == 0 and start_year % 100 != 0:
            print(start_year, "is a Leap Year")
        elif start_year % 100 == 0:
            print(start_year, "is not a Leap Year")
        elif start_year % 400 ==0:
            print(start_year, "is a Leap Year")
        else:
            print(start_year, "is not a Leap Year")
        if end_year % 4 == 0 and end_year % 100 != 0:
            print(end_year, "is a Leap Year")
        elif end_year % 100 == 0:
            print(end_year, "is not a Leap Year")
        elif end_year % 400 ==0:
            print(end_year, "is a Leap Year")
        else:
            print(end_year, "is not a Leap Year")

leap_year(2000, 2006)

标签: python-3.x

解决方案


您对 end_year 的输入是 2006,这是一个不可迭代的数字。

如果要遍历它,则需要使 end_year 成为可迭代的

IEfor start_year in end_year

要使 end_year 成为可迭代的,您可以尝试range(end_year)

IEfor start_year in range(end_year)

将留给您查找范围功能


推荐阅读