您在任何地方都没有有用的循环。在funcA
中,您有一个while True:
,但它只是在return
每次循环中执行一次,这意味着它只运行一次。
因此,您可以在两个函数之外放置一个循环:
while True:
funcA()
funB()
或者,您可以修复funcA
它永远循环而不是只循环一次,然后funB
从它内部调用:
def funcA():
global x
while True:
x=x+1
funB()
或者你可以传递funB
给funcA
它并让它调用它传递的任何东西:
def funcA(*functions):
global x
while True:
x=x+1
for function in functions:
functions()
funcA(funB)
或者您可以funcA
yield
每次都通过循环而不是return
ing,并使用它来驱动funB
:
def funcA():
global x
while True:
x=x+1
yield x
for _ in funcA():
funB()
或者……你可以做各种各样的事情。问题是你真正想要做什么。如果你能解释清楚,有人可以帮你写。
同时,在大多数情况下,您实际上并不需要全局变量。鉴于funcA
已经在尝试return x
,您可以funB
在外循环版本中将返回值传递给 to,或者在接下来的两个版本中将x
自身传递给funB
和 to function
,并在生成器版本中传递产生的值,...</p>