我正在尝试使用2 while循环来返回值i
和j
。
以下内容:
i=0
j=0
while i < 50:
while j < 5:
print('i: ' + str(i))
print('j: ' + str(j))
j += 1
i += 10
结果在:
i: 0
j: 0
i: 0
j: 1
i: 0
j: 2
i: 0
j: 3
i: 0
j: 4
然而,我正在努力获得:
i: 0
j: 0
i: 0
j: 1
i: 0
j: 2
i: 0
j: 3
i: 0
j: 4
i: 10
j: 1
i: 10
j: 2
i: 10
j: 3
i: 10
j: 4
i: 20
j: 1
i: 20
j: 2
i: 20
j: 3
i: 20
j: 4
etc...
我哪里错了?
在进入内部while循环之前,应重新初始化j
i = 0
while i < 50:
j = 0
while j < 5:
print('i: ' + str(i))
print('j: ' + str(j))
j += 1
i += 10
作为一个旁白而不是嵌套循环,我会在这里使用itertools.product
from itertools import product
for i, j in product(range(0,50,10), range(5)):
print(f'i: {i}')
print(f'j: {j}')
它正在做你想做的一切,但无法打印它,因为j=5,所以嵌套的while循环已经是false,只需将j的声明移动到while循环中
i=10
while i < 50:
j=0
while j < 5:
print('i: ' + str(i))
print('j: ' + str(j))
j += 1
continue
i += 10
在i+=10
之后,执行j=0
。您也可以使用print(f'{i=}')
打印变量。