打印九九乘法表的3种方法

#1.for循环
rows,cols = xrange(1,10),xrange(1,10)
row,col = 1,1
for row in rows:
   for col in cols:
      if col <= row:
         print '%d*%d=%d\t' % (col,row,col*row),  #\t代表tab键, 逗号确保同rows在同一行
   print  #打印空格,确保同col在同一列 

#可以简化为:
for rows in xrange(1,10):
   for cols in xrange(1,10):
      if cols <= rows:
         print '%d*%d=%d\t' % (cols,rows,cols*rows),
   print 

#最清晰的方法:
for i in range(1, 10):
    for j in range(1, i + 1):
        print("%d*%d=%2d" % (i, j, i * j), end=" ") 
    print (" ") 
   
#2.while循环
row = 1
while row <= 9:
    col = 1
    while col <= row:
       print '%s*%s=%s\t' % (col,row,col*row),
       col += 1
    row += 1
    print

#3.采用列推导式
>>> print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))
1*1=1 
1*2=2  2*2=4 
1*3=3  2*3=6  3*3=9 
1*4=4  2*4=8  3*4=12 4*4=16
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

 

posted @ 2017-11-15 22:45  碧水幽幽泉  阅读(2359)  评论(0编辑  收藏  举报