波大大12138 发表于 2020-6-29 09:19:54

闰年判断的代码

class LeapYear:
    def __init__(self):
      self.a=0
    def __iter__(self):
      return self
    def __next__(self):
      self.a+=1
      while self.a<2021:
            if self.a%4==0 and self.a%100!=0:
                return self.a
            else:
                raise StopIteration
      
      
l=LeapYear()
print(l.__next__())

我想问一下这是我写的代码关于如何判断闰年,不知道出错在哪里了能帮忙看下嘛?2.我的初始化有没有问题感觉有点奇怪?怎么能在我的基础上实现判断闰年的功能

叶小贤 发表于 2020-6-29 17:06:20

class LeapYear:
    def __init__(self):
      self.a = 1000

    def __iter__(self):
      return self

    def __next__(self):
      while self.a < 2021:
            if self.a % 4 == 0 and self.a % 100 != 0:
                return self.a
            else:
                self.a += 1


l = LeapYear()
print(l.__next__())

叶小贤 发表于 2020-6-29 17:07:56

class LeapYear:
    def __init__(self):
      self.a = 1000

    def __iter__(self):
      return self

    def __next__(self):
      while self.a < 2021:
            if self.a % 4 == 0 and self.a % 100 != 0:
                print(self.a)
                self.a += 1
            else:
                self.a += 1


l = LeapYear()
l.__next__()

叶小贤 发表于 2020-6-29 17:08:52

你是不是 闰年的判断条件写的不对?我怎么感觉运行结果有问题

波大大12138 发表于 2020-6-29 21:08:16

@Twilight6

Twilight6 发表于 2020-6-29 21:08:43

波大大12138 发表于 2020-6-29 21:08
@Twilight6

来了 来了 骚等...

波大大12138 发表于 2020-6-29 21:11:26

叶小贤 发表于 2020-6-29 17:08
你是不是 闰年的判断条件写的不对?我怎么感觉运行结果有问题

我也不确定。。。

波大大12138 发表于 2020-6-29 21:12:04

Twilight6 发表于 2020-6-29 21:08
来了 来了 骚等...

{:5_108:}

Twilight6 发表于 2020-6-29 21:16:22

波大大12138 发表于 2020-6-29 21:12


class LeapYear:
    def __init__(self):
      self.a = 0

    def __iter__(self):
      return self

    def __next__(self):
      while self.a < 2021:
            try:
                if self.a % 4 == 0 and self.a % 100 != 0:
                  self.a += 1
                  return self.a-1
                else:
                  raise StopIteration
            except StopIteration :
                pass
            self.a += 1


l = LeapYear()
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
页: [1]
查看完整版本: 闰年判断的代码