13540051243 发表于 2024-8-26 00:33:54

这个代码运行的时候为什么汇报缩进的错误?

class LeapYear:
    def __init__(self,y=120):
      self.y=y
    def __iter__(self):
      return self
    def __next__(self):
      year=self.y
      self.y-=1
        if year<100:
            raise StopIteration
      return year
leapYears = LeapYear()

FishC 发表于 2024-8-26 00:34:00

你的代码有缩进问题,尤其是在 `__next__` 方法中。修正后的代码应如下所示:

class LeapYear:
    def __init__(self, y=120):
      self.y = y
   
    def __iter__(self):
      return self
   
    def __next__(self):
      year = self.y
      self.y -= 1
      
      # 修正缩进
      if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
            return year
      raise StopIteration

这段代码定义了一个 `LeapYear` 类,用于生成闰年。在 `__next__` 方法中,根据条件判断 `year` 是否为闰年,如果是则返回,否则引发 `StopIteration` 以结束迭代。请确保所有代码块的缩进一致。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

isdkz 发表于 2024-8-26 01:26:27

tab键不能跟空格混用,你应该是哪里敲了tab,总之缩进要么全用空格,要么全用tab

三体人的智子 发表于 2024-8-26 06:21:03

空格和Tab使用不统一。

1Tab=4空格

isdkz 发表于 2024-8-26 08:07:36

三体人的智子 发表于 2024-8-26 06:21
空格和Tab使用不统一。

1Tab=4空格

1tab并不等于4个空格,只是在大多数情况下一个水平制表符的宽度与4个空格的宽度相当

敲下tab键输入的是水平制表符,制表符跟空格就不是同一种字符
页: [1]
查看完整版本: 这个代码运行的时候为什么汇报缩进的错误?