2024-04-18 07:47:24 发布
网友
n=20 a="" for i in range(1,n+1): a+=str(i)+" " print (a)
我不知道lambda表情。拜托帮助我?你知道吗
lambda
如果您正在寻找一个lambda,则需要一个返回字符串的。这意味着您需要一个生成器来生成字符串。你知道吗
因此,您需要2个级别的str.join:
str.join
In [856]: f = lambda x: '\n'.join(' '.join(map(str, range(1, i))) for i in range(1, x + 1)) In [857]: print(f(20)) 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
它看起来很复杂,但它就像一个循环,浓缩成一个生成器。我们为每个i使用' '.join(map(str, range(1, i)))生成每一行,然后所有这些行都被新行\n连接起来。你知道吗
i
' '.join(map(str, range(1, i)))
\n
我建议
[print(*range(1, i+1)) for i in range(1, 20)] and None
如果您正在寻找一个
lambda
,则需要一个返回字符串的。这意味着您需要一个生成器来生成字符串。你知道吗因此,您需要2个级别的
str.join
:它看起来很复杂,但它就像一个循环,浓缩成一个生成器。我们为每个
i
使用' '.join(map(str, range(1, i)))
生成每一行,然后所有这些行都被新行\n
连接起来。你知道吗我建议
相关问题 更多 >
编程相关推荐