如何用公式i**2 + j**2 编码python 中的二维三角列表?

How to code a two dimensional triangular list in python with the formula of i**2 + j**2?

我正在尝试解决这道练习题。

一个) 提示用户输入一个值 n = 正整数

b) 分配一个 n 行的二维三角列表,第一行长度为 1,第二行长度为 2,等等,最后一行长度为 n

c) 编写嵌套循环 = 外部循环和内部(嵌套)循环以迭代 2d 列表中的所有元素。 如果外循环的循环计数器是 i,内(嵌套)循环的循环计数器是 j,则将数组元素的值设置为 i^2 + j^2

d) 将列表打印到控制台,显示如下

0

1 2

4 5 8

9 10 13 18

16 17 20 25 32

25 26 29 34 41 50

等等

这是我目前所做的。

n = int(input("Please enter a positive integer for n: "))
while n <= 0:
    n = int(input("Error: Please enter a positive integer for n: "))
for i in range(n):
    for j in range(i + 1):
        print(i**2 + j**2)

我还没弄清楚如何制作三角形。我知道它应该使用列表,但我还没有得到它。如果有人有任何提示,那将非常有帮助!谢谢!

只需按照说明操作...

# a) prompt the user
n = int(input("n: "))

# b) allocate a 2d triangular list
triangular = [ [0]*(i+1) for i in range(n) ]

# c) nested loops...
for i in range(n):
    for j in range(i+1):
        triangular[i][j] = i**2 + j**2

# d) print the list
for row in triangular: print(*row)

样本运行:

n: 5
0
1 2
4 5 8
9 10 13 18
16 17 20 25 32