是否有办法使以下法典发挥作用?
add = lambda n: (yield n) or add(n+1)
(无需打字)
是否有办法使以下法典发挥作用?
add = lambda n: (yield n) or add(n+1)
(无需打字)
def add(n):
yield n
for m in add(n+1):
yield m
借助回收发电机,很容易建造后继器:
def resolve(db, goals, cut_parent=0):
try:
head, tail = goals[0], goals[1:]
except IndexError:
yield {}
return
try:
predicate = (
deepcopy(clause)
for clause in db[head.name]
if len(clause) == len(head)
)
except KeyError:
return
trail = []
for clause in predicate:
try:
unify(head, clause, trail)
for each in resolve(db, clause.body, cut_parent + 1):
for each in resolve(db, tail, cut_parent):
yield head.subst
except UnificationFailed:
continue
except Cut, cut:
if cut.parent == cut_parent:
raise
break
finally:
restore(trail)
else:
if is_cut(head):
raise Cut(cut_parent)
...
for substitutions in resolve(db, query):
print substitutions
这是一个由休养的发电机实施的Prolog发动机。 db 是代表事实和规则证据库的起诉书。 统一是指统一职能,为目前的目标创造一切替代条件,并附上对线索的改动,这样以后才能取消。 如果目前的目标是! ,则恢复(......),并且进行(......)的试验,以便我们能够进行分管。
我不相信“yield(n)或增加(n+1)”的意图,但休养的发电机肯定是可能的。 您不妨阅读以下链接,以掌握可能的东西,特别是题为“采购发电机”的章节。
在我看来,你的职能似乎只是为了无约束的顺序而表现的其他表现:
页: 1
def add(x):
while True:
yield x
x+=1
for index in add(5):
if not index<100: break ## do equivalent of range(5,100)
print(index)
这不是令人厌恶的,但我认为这里没有必要采取宽恕的做法。
以其他答案链接为基础的复式版本,该链接有发电机,但并非可追溯:
from __future__ import generators
def range_from(n):
yield n
for i in range_from(n+1):
yield i
for i in range_from(5):
if not i<100: break ## until 100 (not including)
print i
Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...
I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...
Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...
Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...
I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...
Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...
Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...
I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...