python 2.7 line.index if乘法表的语句

时间:2016-06-22 05:49:26

标签: python-2.7 if-statement

lines = [[str(i * j) for i in xrange(1, 13)] for j in xrange(1, 13)]

for line in lines:
    for num in line:
        if line.index(num):
            print ' ' * (3 - len(num)) + num,
        else:
            print ' ' * (2 - len(num)) + num,
    print

我试图理解为什么else语句与第一行有关  并且line.index(num)与剩余的行相关。

1 个答案:

答案 0 :(得分:0)

由于您的if语句未将line.index(num)的返回值与任何内容进行比较,因此返回任何非零值将满足条件并返回值0将导致else语句

如果line.index(num)num中的第一个条目,那么

line会返回0,因此只会对line中每个lines的第一个条目执行操作。