python小问题3

img


按矩阵格式输出九九乘法表,怎样才能使输出图形像上图中一样。对于图形输出的格式不太熟悉



```python
print("九九乘法表")
for j in range(1, 9 + 1):
    for i in range(1, j+1):
        print(f'{j} * {i} = {i*j}', end="  ")
    print()

输出:
D:\python38\python.exe D:/python/2022/py_test/demo1.py
九九乘法表
1 * 1 = 1  
2 * 1 = 2  2 * 2 = 4  
3 * 1 = 3  3 * 2 = 6  3 * 3 = 9  
4 * 1 = 4  4 * 2 = 8  4 * 3 = 12  4 * 4 = 16  
5 * 1 = 5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
6 * 1 = 6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
7 * 1 = 7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
8 * 1 = 8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
9 * 1 = 9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81  

进程已结束,退出代码0



for j in range(9):
    for i in range(j+1):
        print(f'{j+1}*{i+1}={i*j+i+j+1} ', end='\n' if i==j else '')

#原题的要求 3*3=9等三个式子的对齐有点毛病
1*1=1 
2*1=2 2*2=4 
3*1=3 3*2=6 3*3=9  
4*1=4 4*2=8 4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 


#以下写法对齐正常一点:
for j in range(9):
    for i in range(j+1):
        print(f'{j+1}*{i+1}={i*j+i+j+1:<{2 if i<1 else 3}}', end='\n' if i==j else '')

        
1*1=1 
2*1=2 2*2=4  
3*1=3 3*2=6  3*3=9  
4*1=4 4*2=8  4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81