gpt4 book ai didi

Python 2.7 列表理解数字金字塔

转载 作者:行者123 更新时间:2023-11-30 22:38:13 26 4
gpt4 key购买 nike

我正在尝试使用嵌套列表理解和字符串格式创建以下数字金字塔。

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 40 47

我想出了如何使用嵌套 for 循环创建金字塔,但无法完全使用列表理解来使其工作。这是我的代码:

for n in range(1,8):
print
for x in range(n):
if x>0:
print '%2d' % (n+(n*x)),
else:
print '%d' % n,

使用列表理解的相同代码给我一个语法错误:

rows = [
'%2d' % (n+(n*x)), if x > 0 else '%d' % n,
for n in range(1,8)
for x in range(n)
]

print '\n' +'\n'.join(rows)

关于如何使用列表理解正确格式化金字塔的任何想法?

最佳答案

您可以使用range来构建每个嵌套列表,如下所示:

# Generation
result = [range(x, x**2 + 1, x) for x in range(1, 8)]

# Formatting
print('\n'.join(''.join(str(x).ljust(4) for x in row) for row in result))

输出:

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49

关于Python 2.7 列表理解数字金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43662993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com