SdF*_*S78 5 python algorithm nested-loops
我试图找到计算这个双for循环的每次迭代的公式(例如在 python 中):
for i in range(5):
for j in range(5):
count = MYSTERIOUS_FORMULA
print count
Run Code Online (Sandbox Code Playgroud)
这里 count 的最终值应该是 25。
我试过,count=(i+1)*j但它产生0,1,2,3,4,0,2,4等。
双 for 循环(又名嵌套循环)。
# Set count to 0 before loop starts
count = 0
for i in range(5):
for j in range(5):
# solved mysterious formula (short hand 'count = count + 1')
count += 1
# displaying count after loop
print(count)
Run Code Online (Sandbox Code Playgroud)
扩展公式count = count + 1,将其设置count为equal本身 + 1:
count = count + 1
Run Code Online (Sandbox Code Playgroud)
神秘的公式很简单:
{count} = {index of current loop} + {size of current loop}*{count of parent loop}
Run Code Online (Sandbox Code Playgroud)
例如,考虑一个循环:
x = 5
for i in range(x):
count = i
Run Code Online (Sandbox Code Playgroud)
明确地说,count = i + x*0但第二项无关紧要,因为没有父循环。两个循环的示例可能更具启发性:
x = 5
y = 6
for i in range(x):
for j in range(y):
count = j + y*(i)
Run Code Online (Sandbox Code Playgroud)
请注意,我i在括号中强调它是{count of parent loop}. 这个公式可以很容易地扩展到第三个循环:
x = 5
y = 6
z = 7
for i in range(x):
for j in range(y):
for k in range(z):
count = k + z*(j + y*(i))
Run Code Online (Sandbox Code Playgroud)
等等...
| 归档时间: |
|
| 查看次数: |
7523 次 |
| 最近记录: |