嵌套while循环,在一个while循环中重复循环,直到另一个循环完成

  • 本文关键字:循环 while 另一个 一个 嵌套 python
  • 更新时间 :
  • 英文 :


我正在尝试使用2 while循环来返回值ij

以下内容:

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=}')打印变量。

最新更新