永发信息网

python为什么我写的generator不能迭代?

答案:2  悬赏:10  手机版
解决时间 2021-12-20 23:51
def first(n):
if n>9:
m = int(str(n)[::-1])
while n == m :
yield n
else:
yield n

def nothuishu(x):
if x in first:
while x < 1000:
yield x

>>> first(4)

>>> next(first)
Traceback (most recent call last):
File "", line 1, in
TypeError: 'function' object is not an iterator
>>> from collections import Iterable
>>> isinstance(first,Iterable)
False
>>> isinstance(nothuishu,Iterable)
False
>>> from collections import Iterator
>>> isinstance(nothuishu,Iterator)
False

小白求问:
为什么我定义的两个函数都不是Iterable、Iterator?
但是nothuishu(1000)输出的是生成器会输出的东西呀
只要是一个个的就可以迭代吧,这样写哪里不对?
最佳答案
函数没有问题,调用如下
y = first(4)
print(next(y))
print(isinstance(y,Iterable))
全部回答
题主可以先不急着做generator,就先写一个简单的函数,打印出a - z以及aa - zz。然后再看怎么改成无限循环和generator。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
把5本不同的书分给3名同学,每人至少一本,有多
那个牌子的手机数据线最好用最便宜
随县烟草专卖局地址在哪?我要去那里办事
睢粤语睢粤语怎么读
父女情深的句子
宣扬是什么意思
随州市烟草专卖局办公地址在什么地方?我要处
简单机械的发明和使用,始终伴随着人类社会的
南京做什么生意好
曾都区烟草专卖局地址有知道的么?有点事想过
七大罪第二季动漫版什么时候出
单选题Yourfriend,Bob,_______apairofnewpan
随州市曾都区烟草专卖局地址有知道的么?有点
毕升,蔡伦,杜诗各发明了什么
下列数据基本符合实际情况的是A.这张试卷的厚
推荐资讯
软水机里的水能刷牙和洗菜吗?
多少钱计入固定资产
西安古城墙为何不要从南门上
什么东西能磨钢?
洛奇英雄传鼠标和键盘异常
麻将胡牌中要有一对做将是什么意思
谢桥国土资源所办公地址在什么地方?我要处理
去泗县做车到(阜阳宿州淮北)哪近???
鹿回头派出所办公位置在哪啊?好找么?
海盐众安机动车安全技术检测有限公司地址有知
盖房用什么砖好
单选题Greatchangeshavetakenplaceinmy
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?