python输出九九乘法表

1 # 01 python列表解析加join()函数 生成九九乘法表,考虑到列值对齐
2 print('\n'.join([' '.join(['%s*%s=%-2s '%(j,i,j*i) for j in range(1,i+1)])for i in range(1,10)]))
3 # [  ['%s*%s=%-2s '%(j,i,j*i) for j in range(1,i+1)] for i in range(1,10)  ] 大列表里的元素都是小列表,用.join()分隔小列表成字符串,%-2s左对齐占两位输出,再换行符分隔成九九乘法表样式
6 # 02 还考虑到列间距离都相等
7 print('\n'.join([' '.join(['%s*%s=%s '%(j,i,j*i) if j==1 else '%s*%s=%-2s '%(j,i,j*i)  for j in range(1,i+1)])for i in range(1,10)]))

用for循环嵌套输出(简单些):

for i in range(1,10):
    for j in range(1,i+1):
        print('%d * %d = %d'%(j,i,j*i),end='\t')  # '\t'制表输出
    print()     #默认end='\n',换行
#与上面列表解析相比,有个小瑕疵,就是第一列与第二列的距离比其他列之间的距离要多一个空格,眼睛较大者请忽略。

 

 

 

posted @ 2019-07-23 05:06  天青色wy  阅读(2701)  评论(0编辑  收藏  举报