如何打印1而不是0?

时间:2017-04-04 16:38:46

标签: python python-3.x for-loop nested

我很困惑为什么' 0'我打印“i'”的值时从不打印。为什么是这样。

提前感谢您的帮助。

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

4 个答案:

答案 0 :(得分:2)

因为range(0)没有任何内容可供您进行迭代,因此您不必在这种情况下进行迭代:

for i in range(0): print(i)

什么都不打印,因为它就像在做:

for i in []: print(i)

并且您可以通过一些小实验来看到这一点:

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

答案 1 :(得分:1)

python中的range函数yield /给出最多(但不包括)其参数的值。因此list(range(5))将为[0,1,2,3,4],而list(range(0))将为...... []

如果您要为此空白列表中的每个值打印i,则根本不打印i

希望这会有所帮助,如果我没有说清楚,请告诉我!

答案 2 :(得分:0)

因为range(0)会给[],所以它不会打印

答案 3 :(得分: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]