Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 你能帮我理解这个循环吗?_Python 3.x - Fatal编程技术网

Python 3.x 你能帮我理解这个循环吗?

Python 3.x 你能帮我理解这个循环吗?,python-3.x,Python 3.x,列表=[1,3,5,7] 对于列表中的i: 对于范围(i)中的j: 印刷品(一) 输出-1,2,2,3,3,3,5,5,5,5。您提供的输出错误。 您正在执行的循环如下所示: 迭代提供的列表,然后打印该列表中的元素(您当前正在迭代的元素),打印次数与元素的值相同 所以在你的例子中,你有:1,然后3乘以3,5乘以5,7乘以7 我在这里简化了您的逻辑,因为范围(I)中的j实际上是在:0,1,2。。。i(其中i等于1、3、5或7,具体取决于外循环迭代)。您提供的输出是错误的。 您正在执行的循环如下所示

列表=[1,3,5,7] 对于列表中的i: 对于范围(i)中的j: 印刷品(一)


输出-1,2,2,3,3,3,5,5,5,5。

您提供的输出错误。 您正在执行的循环如下所示: 迭代提供的列表,然后打印该列表中的元素(您当前正在迭代的元素),打印次数与元素的值相同

所以在你的例子中,你有:1,然后3乘以3,5乘以5,7乘以7


我在这里简化了您的逻辑,因为范围(I)中的j实际上是在:0,1,2。。。i(其中i等于1、3、5或7,具体取决于外循环迭代)。

您提供的输出是错误的。 您正在执行的循环如下所示: 迭代提供的列表,然后打印该列表中的元素(您当前正在迭代的元素),打印次数与元素的值相同

所以在你的例子中,你有:1,然后3乘以3,5乘以5,7乘以7

我在这里简化了您的逻辑,因为范围(I)中的j实际上是在:0,1,2。。。i(其中i等于1、3、5或7,取决于外循环迭代)。

list_=[1,3,5,7]
对于列表中的i:
对于范围(i)中的j:
印刷品(一)
发生了什么:

  • 在第一个外部循环中(
    for i In list
    ),您正在迭代
    list
    中的所有四个元素。这意味着值
    i
    在第一次迭代中为1,在第二次迭代中为3,在第三次迭代中为5,在最后一次迭代中为7
  • 在第二个内部循环中(
    表示范围(i)中的j)
    ),它创建了一个数字范围。这一次,for的
    运行方式不同,它将不再获取范围的编号,而是对其中的代码重复
    i
  • 例如,
    对于j范围(3)
    这意味着,根据定义,我正在创建一个长度为3的迭代器,其中元素的范围从0到2:
    [0,1,2]
    每个值将被分配给
    j
    一次

    由于第一次外部迭代中的
    i
    是1,因此内部循环将首先运行
    print(1)
    一次。然后,来自外部循环的其他剩余数字也会发生同样的情况。看一看:

    范围(1)内j的
    
    打印(1)#输出1
    
    范围(3)内j的
    
    打印(3)#输出3
    
    最后,正确的输出应该是:
    133555577
    list.=[1,3,5,7]
    对于列表中的i:
    对于范围(i)中的j:
    印刷品(一)
    
    发生了什么:

  • 在第一个外部循环中(
    for i In list
    ),您正在迭代
    list
    中的所有四个元素。这意味着值
    i
    在第一次迭代中为1,在第二次迭代中为3,在第三次迭代中为5,在最后一次迭代中为7
  • 在第二个内部循环中(
    表示范围(i)中的j)
    ),它创建了一个数字范围。这一次,for
    运行方式不同,它将不再获取范围的编号,而是对其中的代码重复
    i
  • 例如,
    对于j范围(3)
    这意味着,根据定义,我正在创建一个长度为3的迭代器,其中元素的范围从0到2:
    [0,1,2]
    每个值将被分配给
    j
    一次

    由于第一次外部迭代中的
    i
    是1,因此内部循环将首先运行
    print(1)
    一次。然后,来自外部循环的其他剩余数字也会发生同样的情况。看一看:

    范围(1)内j的
    
    打印(1)#输出1
    
    范围(3)内j的
    
    打印(3)#输出3
    
    最后,正确的输出应该是:
    133555577

    for j in range(5)
        print(5)      # outputs 5 5 5 5 5
    
    for j in range(7)
        print(7)      # outputs 7 7 7 7 7 7 7