如何在一行中打印9x9表格?

时间:2014-08-24 12:24:27

标签: python generator

我试图在一行代码中打印9x9乘法表。我遇到了以下结果的问题。

print("%s x %s = %s" % (x, y, x*y) for x in range(1, 10) for y in range(1, 10))

输出:

<generator object <genexpr> at 0x1054350f0>

虽然我预计它会输出:

1 x 1 = 1
1 x 2 = 2
.
.
.
9 x 9 = 81

1 个答案:

答案 0 :(得分:0)

这是另一种方式:

>>> table = ("%s x %s = %s" % (x, y, x*y) for x in range(1, 10) for y in range(1, 10))
>>> print "\n".join(table)
1 x 1 = 1
1 x 2 = 2
.
.
.
9 x 9 = 81

或者在一行中:

print "\n".join(("%s x %s = %s" % (x, y, x*y) for x in range(1, 10) for y in range(1, 10)))