Python 99乘法表

Python3.6.3 

# for j in range(1, 10):
#     for i in range(1, j+1):
#         print('{}*{}={}\t'.format(i, j, i*j), end='')
#     print()

print('\n'.join('\t'.join('{}*{}={}'.format(i, j, i*j) for i in range(1, j+1)) for j 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

 

格式化的时候使用 ljust等类似方法更好,因为 \t 当字符超出Tab的宽度后就会导致整体不整齐了。

print('\n'.join(''.join(('%d*%d=%d' % (j, i, i*j)).ljust(8) for j in range(1, i+1)) for i in range(1, 10)))

 

  • str.join()可以传生成器参数
  • 类似列表推导式的生成器作为参数时可以直接传,不用加括号

你可能感兴趣的:(Python)