Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 为什么打印的是1而不是0?_Python_Python 3.x_For Loop_Nested - Fatal编程技术网

Python 为什么打印的是1而不是0?

Python 为什么打印的是1而不是0?,python,python-3.x,for-loop,nested,Python,Python 3.x,For Loop,Nested,我不明白为什么在打印“I”的值时从不打印“0”。这是为什么 提前感谢你的帮助 for i in range(0,10): for z in range(i): print([i], end=' ') 因为range(0)没有可供您迭代的内容,所以在这种情况下您不需要迭代: for i in range(0): print(i) 不打印任何内容,因为这就像: for i in []: print(i) 你可以通过一些实验来了解这一点: >>> list(rang

我不明白为什么在打印“I”的值时从不打印“0”。这是为什么

提前感谢你的帮助

for i in range(0,10):
  for z in range(i):
    print([i], end=' ')
因为
range(0)
没有可供您迭代的内容,所以在这种情况下您不需要迭代:

for i in range(0): print(i)
不打印任何内容,因为这就像:

for i in []: print(i)
你可以通过一些实验来了解这一点:

>>> list(range(0))
[]
因为
range(0)
没有可供您迭代的内容,所以在这种情况下您不需要迭代:

for i in range(0): print(i)
不打印任何内容,因为这就像:

for i in []: print(i)
你可以通过一些实验来了解这一点:

>>> list(range(0))
[]

python中的range函数产生/给出最多(但不包括)其参数的值。所以
列表(范围(5))
将是
[0,1,2,3,4]
,而
列表(范围(0))
将是<代码>[]

由于您要为此空列表中的每个值打印
i
,因此根本不打印
i


希望这有帮助,如果我解释得不够清楚,请告诉我

python中的range函数产生/给出最多(但不包括)其参数的值。所以
列表(范围(5))
将是
[0,1,2,3,4]
,而
列表(范围(0))
将是<代码>[]

由于您要为此空列表中的每个值打印
i
,因此根本不打印
i


希望这有帮助,如果我解释得不够清楚,请告诉我

因为
范围(0)
将给出
[]
,所以它不打印因为
范围(0)
将给出
[]
,所以如果您这样修改代码,它不打印:

for i in range(0, 10): 
    for z in range(0, i):
        print([z], end=' ')
    print('')
它打印:

[0]
[0] [1]
[0] [1] [2]
[0] [1] [2] [3]
[0] [1] [2] [3] [4]
[0] [1] [2] [3] [4] [5]
[0] [1] [2] [3] [4] [5] [6]
[0] [1] [2] [3] [4] [5] [6] [7]
[0] [1] [2] [3] [4] [5] [6] [7] [8]

如果您这样修改代码:

for i in range(0, 10): 
    for z in range(0, i):
        print([z], end=' ')
    print('')
它打印:

[0]
[0] [1]
[0] [1] [2]
[0] [1] [2] [3]
[0] [1] [2] [3] [4]
[0] [1] [2] [3] [4] [5]
[0] [1] [2] [3] [4] [5] [6]
[0] [1] [2] [3] [4] [5] [6] [7]
[0] [1] [2] [3] [4] [5] [6] [7] [8]

你打印2次。你只打印一次。你打印了0次,没关系,我想我现在明白了。“z”迭代不会开始,因为嵌套循环中的范围在第一次迭代中设置为0,因此不会执行以下print语句。需要'i'增加到1,现在'z'变量可以开始参与,因为它的值大于0。编辑您可以打印零,但必须在初始化第一个for循环之后,在嵌套之前立即打印。打印2次。你只打印一次。你打印了0次,没关系,我想我现在明白了。“z”迭代不会开始,因为嵌套循环中的范围在第一次迭代中设置为0,因此不会执行以下print语句。需要'i'增加到1,现在'z'变量可以开始参与,因为它的值大于0。编辑可以打印零,但必须在初始化第一个for循环之后,在嵌套循环之前打印零。