当range不是数字时,在python中嵌套for循环



我很难理解这个:

for i in range(1, 4):
for j in range(i):
print(i)

,当内循环的范围是一个数字时,我理解它,但在上面的代码中,内循环在范围(I)内运行。这是什么意思?谢谢你。

让我们一步一步来:

  1. 函数range(start, stop, step)有以下3个参数:
  2. 可选参数startstep,必选参数stop
  3. 如果只向功能发送一个参数,如range(5),则功能会自动设置start = 0step = 1。则range(5)=range(0, 5, 1)
  4. startstopstep必须为整数. 在您的情况下,i是一个整数变量,它取1,23的值,这就是为什么range(i)是有效的。

i是由它所在的循环设置的变量。i是迭代的数字(这就是为什么它通常被称为i), j然后迭代到i之前的所有数字。

例如,range(1,4)可以是三种大小的糖果,每种大小都有一个糖果(1包1个糖果,1包2个糖果,1包3个糖果)。第二个循环遍历数据包中的每个糖果(其中packet为i, sweet为j)。然后你要打印你吃的包。