您在任何地方都没有有用的循环。在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每次都通过循环而不是returning,并使用它来驱动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>