使用Python的特殊格式乘法表

时间:2018-10-25 08:30:59

标签: python

我做了以下python代码,这是具有特殊格式的乘法表:

print('| *  |', end='')
for col in range(10):
    print(' %02i' % col, end=' |')
print()

print('--------------------------------------------------------')

for row in range(10):
     print('| %02i |' % row)

print()


for row1 in range(10):
    print("%02i"%row1, end=' | ')
    for col1 in range(10):
        print("%02i" %(row1*col1), end=' | ')
    print()
print()

所以输出是

enter image description here

但是我需要如下图所示的输出:

enter image description here

3 个答案:

答案 0 :(得分:1)

您的结果合乎逻辑,因为您首先使用

打印每行的开头
for row in range(10):
     print('| %02i |' % row)

print()

然后用

for row1 in range(10):
    print("%02i"%row1, end=' | ')
    for col1 in range(10):
        print("%02i" %(row1*col1), end=' | ')
    print()
print()

您可以将两者结合起来以得到所需的结果,只需将第二个循环的内部代码粘贴到print下的第一个循环中即可。

答案 1 :(得分:0)

删除第一行for循环,使代码变为:

print('| *  |', end='')
for col in range(10):
    print(' %02i' % col, end=' |')
print()
print('--------------------------------------------------------')
for row1 in range(10):
    print('|',"%02i"%row1, end=' | ')
    for col1 in range(10):
        print("%02i" %(row1*col1), end=' | ')
    print()
print() 

答案 2 :(得分:0)

可以这样做:

print('| *  |', end='')
for col in range(10):
    print(' %02i' % col, end=' |')
print()
print('--------------------------------------------------------')
for row in range(10):
     print(('| %02i |' % row)+' | '.join(['%02i' % (i*row) for i in range(10)]))

print()

在创建行时已经进行了计算。

输出:

| *  | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
--------------------------------------------------------
| 00 |00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00
| 01 |00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09
| 02 |00 | 02 | 04 | 06 | 08 | 10 | 12 | 14 | 16 | 18
| 03 |00 | 03 | 06 | 09 | 12 | 15 | 18 | 21 | 24 | 27
| 04 |00 | 04 | 08 | 12 | 16 | 20 | 24 | 28 | 32 | 36
| 05 |00 | 05 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45
| 06 |00 | 06 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54
| 07 |00 | 07 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63
| 08 |00 | 08 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72
| 09 |00 | 09 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81