如何在python代码中编写此算法?

1-a*_*ion 6 python algorithm

我有以下代码.

for k in range( ( N + 1 ) * K ):
    if k >= 0 and k <= K-1:
        # do something
        # n = 0
    elif k >= K and k <= 2*K-1:
        # do something
        # n = 1
    elif k >= 2*K and k <= 3*K-1:
        # do something
        # n = 2
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

"做某事"很难解释,但我用矫揉造作n = p取而代之.

我怎么能明确写出来?

更具体地说,如果对于p = 0到N,k在集合{p*K,...,(p + 1)*K-1}中,则执行某些操作.我怎么能在代码中做到这一点?

Fre*_*abe 5

你可以只有三个循环,不是吗?

for k in range(K):
  # do something
for k in range(K, 2*K-1):
  # do something
for k in range(2*K-1, (N+1)*K):
  # do the rest
Run Code Online (Sandbox Code Playgroud)

  • @ 1-approximation:那么你将不得不澄清`#做某事'是什么,以及各种`#做某事如何彼此不同. (3认同)

Eug*_*ako 3

for loop_id in xrange(N):
    for i in xrange(K):
       k = K * loop_id + i
       do_smth(loop_id, i, k)
Run Code Online (Sandbox Code Playgroud)