【发布时间】:2019-06-12 00:08:08
【问题描述】:
我无法弄清楚为什么我的生成器没有返回值 =11,这是我的代码:
def monG(borneinf,bornesup):
while True:
if bornesup < borneinf:
bornesup, borneinf = borneinf, bornesup
borneinf += 1
if borneinf==bornesup:
break
x=(yield borneinf)
if x is not None:
borneinf = x
c=monG(2,10)
for a in c:
if a==5:
c.send(20)
print(a)
输出:
3
4
5
12
13
14
15
16
17
18
19
【问题讨论】:
-
对于其他没有遇到这种奇怪的
x = yield ..和gen.send(20)的东西:realated questions regarding generator.send() -
你正在丢弃 c.send(20) 的结果,即 11。
-
当你得到解决方案时,请记得给有用的东西投票并接受你最喜欢的答案(即使你必须自己写),这样 Stack Overflow 才能正确存档问题。我认为您这样做也会获得一些声誉积分。
-
我该怎么做?它说我没有足够的声望点,对不起,我是新来的。
标签: python python-3.x generator coroutine