【发布时间】:2014-08-24 12:24:26
【问题描述】:
我试图用一行代码打印一个 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
【问题讨论】:
-
请在 python 中使用生成器或 lambda 进行打印。谢谢。
-
您在 13 个字符之外:
print(*("%s x %s = %s" % (x, y, x*y) for x in range(1, 10) for y in range(1, 10)), sep='\n')。 (注意:如果您在模块顶部添加from __future__ import print_function,这适用于python2)。