簡體   English   中英

如何實現等效的 for 循環?

[英]How do I implement the equivalent for-loop?

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

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

如何在 python 中編寫等效循環?

可以這樣做,

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

請閱讀基本的 Python 教程。 一個在這里找到

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

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

在 python 中,你可以這樣寫

for (setelements) in (set):

所以對於你想要的它會是什么樣子

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

該范圍需要 3 個參數(開始、停止、步長) start - 從哪里開始 for 循環、何時停止循環以及步進多少

在上面的代碼片段中,循環將從 1 開始,在 10 停止,並且每次都會步進 1,就像 java 中的 i++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM