嵌套以循环和休息

发布于 2025-02-13 12:44:59 字数 258 浏览 0 评论 0原文

为什么以下代码不打印任何东西?满足条件的A和B的第一组值为A = 1和B = 4。但是,我看不到它正在打印。

def fun():
    for a in range(5):
        for b in range(5):
            if a + b == 5:
                print(a,b)
                break
            break

fun()
        

Why does the following code not print anything? The first set of values of a and b that satisfies the condition is a = 1 and b = 4. However, I don't see that being printed.

def fun():
    for a in range(5):
        for b in range(5):
            if a + b == 5:
                print(a,b)
                break
            break

fun()
        

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一向肩并 2025-02-20 12:44:59

您有一个额外的中断,因为第一个将终止最内向的循环,从而可以增加您想要的最外层(A)。折断两次终止整个执行,因此您的代码应该看起来像这样:

def fun():
    for a in range(5):
      for b in range(5):
          if a+b ==5:
              print(a, b)
              break
fun()

edit

,因为您想显示第一组值,而不是break它是return return < /代码>终止整个执行所需的。

def fun():
    for a in range(5):
      for b in range(5):
          if a+b ==5:
              print(a, b)
              return
fun()

You have an extra break, as the first one will terminate the innermost loop, allowing to increment the outermost (value of a) which is what you want. Breaking twice terminates the whole execution so your code should look like this:

def fun():
    for a in range(5):
      for b in range(5):
          if a+b ==5:
              print(a, b)
              break
fun()

EDIT

Since you want to display the first set of values then instead of break it's a return that is needed to terminate the whole execution.

def fun():
    for a in range(5):
      for b in range(5):
          if a+b ==5:
              print(a, b)
              return
fun()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文