【问题标题】:How do I implement the equivalent for-loop?如何实现等效的 for 循环?
【发布时间】:2015-10-11 16:54:21
【问题描述】:

在java中,我可以有以下循环:

for(int i=1;i<=c;i++){
    for(int j=i; j<=C;j++){
        ecc...
    }
}

如何在python中编写等效循环?

【问题讨论】:

    标签: java python for-loop


    【解决方案1】:

    使用for + range

    在 python 中,您可以通过调用range(begin, end) 获得一个范围 — 其中begin 表示范围的开始,end 是上限(不包括在结果范围内) .从数学上讲,结果将是[begin, end) 范围内的一组数字。

    为了将您的 代码移植到python中,您可以使用前面提到的构造轻松创建一个外部范围,然后让内部范围依赖于前者。

    for i in range (0, c+1):
      for j in range (i, C+1):
        ...
    

    使用while

    当然,您也可以使用while 编写等效的循环结构,尽管这不是很pythonic——也不是那么干净。

    i = 0
    while i <= c:
      j = i
      while j <= C:
        ...
        j += 1
      i += 1
    

    【讨论】:

      【解决方案2】:

      可以这样,

      for i in range(1, c + 1):
          for j in range(i, C + 1):
              ecc...
      

      请阅读基本的 Python 教程。一个被发现here

      【讨论】:

        【解决方案3】:
        for i in range(1, c+1):
            for j in range (i, C+1):
                print j
        

        【讨论】:

          【解决方案4】:

          在python中你可以写成这样的

          for (setelements) in (set):
          

          所以你想要的会是这样的

          for i in range(1, c+1 ):
                for j in range(i, c+1 ):
                      ecc...
          

          【讨论】:

            【解决方案5】:
            c= 10
            for i in range(1,10,1):
               for j in range(1,10,1):
                   pass
            

            范围有 3 个参数(开始、停止、步进) start - 从哪里开始 for 循环,何时停止循环以及步进多少

            在上面的代码中,sn-p 循环将从 1 开始,在 10 停止,并且每次都会步进 1,就像 java 中的 i++ 一样

            【讨论】:

              猜你喜欢
              • 2021-10-28
              • 2019-05-14
              • 1970-01-01
              • 2013-04-20
              • 2019-06-03
              • 2011-08-21
              • 2014-02-15
              • 2023-01-10
              • 1970-01-01
              相关资源
              最近更新 更多