Python 为什么打印的是1而不是0?
我不明白为什么在打印“I”的值时从不打印“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
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循环之后,在嵌套循环之前打印零。