将“继续”从函数内部传递到 Python 中的外部循环

Posted

技术标签:

【中文标题】将“继续”从函数内部传递到 Python 中的外部循环【英文标题】:Pass 'continue' from inside a function to the outer loop in Python 【发布时间】:2021-04-09 16:01:55 【问题描述】:

我希望我能相应地表达自己,因为我对编程很陌生,我确信答案很简单,但我无法到达那里...... :) 所以我有一个执行某些功能的“for”循环。每个函数都有一个“if”语句,并且只有在条件允许的情况下才会执行某些操作。 我想要的是在满足函数的“if”语句后立即重置循环。

编辑:我搞砸了这个功能:(谢谢你到目前为止的回答^^ 我希望工作的一个例子:

def do_something():
   if something == True:
      do_some_stuff
      return continue

while i < 999:
   do_something()
   do_something2()
   do_something3()
   

“返回继续”是无法按我希望的那样工作的部分,我找不到解决方案(也许我不知道谷歌到底要做什么)

【问题讨论】:

你的意思是continue 没有返回吗?您不能返回继续,因为它不是一个值。它甚至不是一个函数。 这里的函数在哪里?这只是一个带有 if 语句的循环。正如 Silvio 所说,你可以在这里做continue。作为旁注,您可以使用if something 而不是if something == True 编辑了我之前失败的函数 【参考方案1】:

你可以让'do_something'返回一个布尔值

def do_something():
   if something is True:
      do_some_stuff
      return True
   return False

while i < 999:
   if do_something():
      continue
   do_something2()
   do_something3()

【讨论】:

【参考方案2】:

没有任何功能,所以return 什么都没有。但是,一旦满足条件something,您就可以将break 退出while 循环,如下所示:

while i < 999:
   if something == True:
      do_some_stuff
      break

【讨论】:

以上是关于将“继续”从函数内部传递到 Python 中的外部循环的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在反应外部的函数内部传递变量

Python——内部参数对外部实参的影响

具有外部 C++ 函数的 Matlab:coder.ceval 将结构传递给函数

将对象作为参数传递给函数

将外部选择行变量传递给oracle中的内部选择

Python:从内部类访问外部私有函数