for i in range(1, 10): s = ' '*(7 * (i - 1)) for j in range(i, 10): s += str.format("{0:1}*{1:1}={2:<2} ", i, j, i * j) print(s)
时间: 2024-04-28 10:23:32 浏览: 20
这段代码的输出结果也是九九乘法表,只不过每个数字之间用空格分隔开,并且每行输出的乘法表左对齐,右侧对齐。代码实现如下:
```python
for i in range(1, 10):
s = ' '*(7 * (i - 1))
for j in range(i, 10):
s += str.format("{0:1}*{1:1}={2:<2} ", i, j, i * j)
print(s)
```
输出结果如下所示:
```
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
```
其中,外层的 for 循环控制行数,内层的 for 循环控制列数,使用 str.format() 方法来格式化输出每一项,其中 {0:1} 表示第一个参数(即 i)占据一位,{1:1} 表示第二个参数(即 j)占据一位,{2:<2} 表示第三个参数(即 i*j)占据两位,左对齐。然后使用空格符来对齐输出,每行的前面输出空格(7 * (i - 1)),使得输出的乘法表左对齐。