我想生成这样的数字:1, -1, 2, -2, 3, -3, ...
但我不知道如何在 Python 中做到这一点。
def genNumbers():
gi = genInt()
while True:
yield gi.next()
def genInt():
i = 0
while True:
i+=1
yield i
gennr = genNumbers()
print gennr.next(), gennr.next(), gennr.next()
我编写了另一个生成数字的生成器。实际的生成器 genNumbers() 应该更改每个数字的符号,但我没有看到在转到下一个 int 之前以其签名状态打印每个 int 的方法。
请您参考如下方法:
def genInt():
i = 0
while True:
i+=1
yield i
yield -i
gennr = genInt()
