我试图在一行代码中打印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
答案 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)))