鱼C论坛

 找回密码
 立即注册
查看: 818|回复: 1

python中迭代器返回Nnoe怎么解决,能不能不返回?

[复制链接]
发表于 2018-12-17 13:58:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class Fibs:
    def __init__(self,n=2018):
        self.a = 0
        self.n = n
       
    def __iter__(self):
        return self
   
    def __next__(self):
        self.a += 1
        if (self.a%4 == 0 and self.a % 100 != 0) or (self.a % 400 == 0):
            return self.a

        if self.a > self.n:
            raise StopIteration


结果为:
>>> a = Fibs()
>>> for i in a:
        print(i)

       
None
None
None
4
None
None
None
8
None
None
None
12
None
None
None
16
None
None
None
20
None
None
None
24
None
None
None
28
None
None
None
32
None
None
None
36
None
None
None
40
None
None
None
44
None
None
None
48
None
None
None
52
None
None
None
56
None
None
None
60
None
None
None

怎么把None去掉,还是我的输入有问题?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-17 14:13:13 | 显示全部楼层
敢问你这是要计算什么?斐波那契数列???


def __next__(self):
        return 保证任何时候有返回值, 如没有那就是NONE
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-12 10:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表