<p>最简单的方法之一是从0开始计数,而不是从1开始计数:</p>
<pre><code>for row in range(0, 10):
for col in range(0, 10):
num = row * col
if num < 10:
empty = " "
else:
if num < 100:
empty = " "
if col == 0:
if row == 0:
print(" ", end = '')
else:
print(" ", row, end='')
elif row == 0:
print(" ", col, end='')
else:
print(empty, num, end = '')
print()
</code></pre>
<p>这将打印</p>
<pre><code> 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81
</code></pre>
<p>这就是说,这里有一个一行程序版本,可以得到相同的输出:</p>
<pre><code>print("\n".join(("{:>4}"*10).format(*(i*j if i*j else i+j if i+j else "" for j in range(10))) for i in range(10)))
</code></pre>