且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从python中的while循环内部返回值

更新时间:2023-02-03 11:18:55

改为创建生成器.

def triangle():
  res = 0
  inc = 1
  while True:
    res += inc
    inc += 1
    yield res

t = triangle()
print next(t)
print next(t)
print next(t)
print next(t)

或者一个协程.

def summer():
  res = 0
  inc = 0
  while True:
    res += inc
    inc = (yield res)

s = summer()
print s.send(None)
print s.send(3)
print s.send(5)
print s.send(2)
print s.send(4)