Advertisement
Guest User

Untitled

a guest
Aug 17th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.53 KB | None | 0 0
  1. import time
  2. from circuits import Component, Worker, Debugger, task, handler, Event
  3.  
  4. class factorial(Event): pass
  5.  
  6. class App(Component):
  7.     def factorial(self, n):
  8.         time.sleep(1)
  9.         if n > 1:
  10.             nn = yield self.call(factorial(n-1))
  11.             yield n * nn.value
  12.         else:
  13.             yield 1
  14.  
  15.     @handler("started")
  16.     def started(self, *args):
  17.         Worker().register(self)
  18.         rv = yield self.call(factorial(5))
  19.         print(rv.value)
  20.         self.stop()
  21.  
  22. (App() + Debugger()).run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement