python里面这个9*9的乘法表怎么弄啊,想要有个解释,不是很理解,希望大家看看,比较急

img


python里面这个9*9的乘法表怎么弄啊,想要有个解释,不是很理解,希望大家看看,比较急

用f-string串比较好理解,其中{i*j:>2} :>2表示右对齐,数字表示留几个字符空间。 :<3则表示左对齐;居中对齐则用 :^3
双重循环的循环变量对应的是被乘数和乘数,有的题数字对换,乘法表排列有的要求写成正三角,需要相应修改

for i in range(1,10):
    for j in range(1,10-i+1):
        print(f'{i}*{j}={i*j:>2}',end='  ')
    print()

'''--result:
1*1= 1  1*2= 2  1*3= 3  1*4= 4  1*5= 5  1*6= 6  1*7= 7  1*8= 8  1*9= 9  
2*1= 2  2*2= 4  2*3= 6  2*4= 8  2*5=10  2*6=12  2*7=14  2*8=16  
3*1= 3  3*2= 6  3*3= 9  3*4=12  3*5=15  3*6=18  3*7=21  
4*1= 4  4*2= 8  4*3=12  4*4=16  4*5=20  4*6=24  
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  
7*1= 7  7*2=14  7*3=21  
8*1= 8  8*2=16  
9*1= 9  
'''

[root@localhost python]# cat hello.py

for i in range(1,10):
    print(' '*7*(i-1),end='')
    for j in range(i,10):
        print("{}*{}={:<3}".format(i,j,i*j),end='')
    print()

参考我的博文
原文链接:https://blog.csdn.net/qq_15604349/article/details/124256002

for i in range(1, 10):  #9行
    for j in range(1, 10 - i +1 ): #每行多少列,随i的值动态计算出来
        print(f'{i}*{j}={i*j:>2}', end = ' ')#每行打印的值,end参数用来控制每个值的分隔
    print()#打印了一行,换行