左下角
# 这种情况最简单,列数<=行数,从左边打印即可for i in range(1, 10): for j in range(1, 10): if j <= i: print('{}x{}={}'.format(j, i, i*j), end='\t') print()
for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}'.format(j, i, i*j), end='\t') print()
# 使用列表推导式print('\n'.join(['\t'.join(['{}x{}={}'.format(j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
1x1=11x2=2 2x2=41x3=3 2x3=6 3x3=91x4=4 2x4=8 3x4=12 4x4=161x5=5 2x5=10 3x5=15 4x5=20 5x5=251x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=361x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=491x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=641x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
右上角
# 把每一行都当做一整个字符串,从左边打印,然后格式化到右边对齐for i in range(1, 10): for j in range(1, i+1): print('{}x{}={:<{}}'.format(j, i, i*j, 2 if j<2 else 3), end='') print()
# 先打印空白部分,再打印字符部分for i in range(1,10): for m in range(1, i): print(end='\t') for n in range(i, 10): print('{}x{}={}'.format(i, n, i*n), end='\t') print()
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9 2x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18 3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27 4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45 6x6=36 6x7=42 6x8=48 6x9=54 7x7=49 7x8=56 7x9=63 8x8=64 8x9=72 9x9=81
左上角
for i in range(1, 10): for j in range(i, 10): print('{}x{}={}'.format(i, j, i*j), end='\t') print()
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=92x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=183x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=274x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=365x5=25 5x6=30 5x7=35 5x8=40 5x9=456x6=36 6x7=42 6x8=48 6x9=547x7=49 7x8=56 7x9=638x8=64 8x9=729x9=81
右下角
# 与第二种类似for i in range(1, 10): for m in range(1, 10-i): print(end='\t') for n in range(1, i+1): print('{}x{}={}'.format(i, n, i*n), end='\t') print()
1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=641x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81