江湖散人 发表于 2021-4-5 10:40:53

乘法口诀的问题

for a in range(1,10):
        for b in range(1,10):
                if b<=a:
                        print(b ,"x" ,a ,'=', a*b,end='   ')
        print('\n')

       
1 x 1 = 1   

1 x 2 = 2   2 x 2 = 4   

1 x 3 = 3   2 x 3 = 6   3 x 3 = 9   

1 x 4 = 4   2 x 4 = 8   3 x 4 = 12   4 x 4 = 16   

1 x 5 = 5   2 x 5 = 10   3 x 5 = 15   4 x 5 = 20   5 x 5 = 25   

1 x 6 = 6   2 x 6 = 12   3 x 6 = 18   4 x 6 = 24   5 x 6 = 30   6 x 6 = 36   

1 x 7 = 7   2 x 7 = 14   3 x 7 = 21   4 x 7 = 28   5 x 7 = 35   6 x 7 = 42   7 x 7 = 49   

1 x 8 = 8   2 x 8 = 16   3 x 8 = 24   4 x 8 = 32   5 x 8 = 40   6 x 8 = 48   7 x 8 = 56   8 x 8 = 64   

1 x 9 = 9   2 x 9 = 18   3 x 9 = 27   4 x 9 = 36   5 x 9 = 45   6 x 9 = 54   7 x 9 = 63   8 x 9 = 72   9 x 9 = 81   



我这个程序执行出来没有太大的问题,但是1到3,和5到9,不对齐了,现在还好是只有两位数,一旦位数多了,更不能对齐了,有没有什么方法可以让他们无论多大的数,都能对齐呢?

梦回连营 发表于 2021-4-5 10:55:59

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

江湖散人 发表于 2021-4-5 11:53:29

梦回连营 发表于 2021-4-5 10:55
for i in range(1,10):
    for j in range(1,i+1):
      print('{} * {} = {}'.format(j,i,i*j),end= ...

我刚才试了一下,确实可以,不过我还有一个问题请教,就是我想把那个*号换成X,
print('{}{}{}={}'.format(j,'X',i,i*j),end='\t')
这样运行结果从4开始又不对齐了,咋回事啊?

学习型motor 发表于 2021-4-5 13:11:26

江湖散人 发表于 2021-4-5 11:53
我刚才试了一下,确实可以,不过我还有一个问题请教,就是我想把那个*号换成X,
print('{}{}{}={}'.form ...

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

这样改

江湖散人 发表于 2021-4-5 15:51:14

学习型motor 发表于 2021-4-5 13:11
for i in range(1,10):
        for j in range(1,i+1):
                print('{} X {} = {}'.format(j,i,i*j),end = '\t') ...

好的,谢谢啊

江湖散人 发表于 2021-4-30 15:50:31

龙舞九天 发表于 2021-4-30 15:10


啥情况?
页: [1]
查看完整版本: 乘法口诀的问题