首页 > 解决方案 > 如何使用 1 行代码打印由 1 到 9(来自示例)的数字组成的正方形?

问题描述

我需要在 1 行中编写代码,它将打印:

0123456789
1234567890
2345678901
3456789012
4567890123
5678901234
6789012345
7890123456
8901234567
9012345678

我这样做了:

print([print(i) for i in range(10)])

但是这段代码是完全错误的,输出是:

0
1
2
3
4
5
6
7
8
9
[None, None, None, None, None, None, None, None, None, None]

我想我应该使用map()lambda但我不知道我该怎么做,我只是在学习......

标签: pythonpython-3.xstringprintinglist-comprehension

解决方案


print("\n".join([("".join(str((i+j)%10) for i in range(10))) for j in range(10)]))

请注意,打印函数返回None这就是您None打印了这么多次的原因,您需要嵌套循环来打印这个二维数组。


推荐阅读