比如三维数组[[1, 2, 3], [4, 5, 6], [7, 8, 9]],计算主对角线元素和应该为15。
第一个需要手动构造输入的维数和数据。
def temp(n,data_list):
sum = 0
if n <= 0:
return None
elif n == 1:
return data_list[0]
else:
for i in range(n):
for j in range(n):
if i == j:
sum += data_list[i][j]
return sum
array = []
n = int(input("请输入数组维数:"))
for i in range(n):
array.append([])
for j in range(n):
array[i].append(int(input('请输入第%s行第%s列的元素:' % (i + 1, j + 1))))
print('数组:', array)
jieugo = temp(n,array)
print(jieugo)
‘’’
设计思路:将对角线元素获取,然后(将其存储到一个列表中)相加
‘’’
定义一个三维数组
array = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]
sum = 0
for i in range(3):
for j in range(3):
if i == j:
sum += array[i][j]
print(sum)
array = [[3, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]
sum = 0
data_list = []
for i in range(3):
for j in range(3):
if i == j:
data_list.append(array[i][j])
for data in data_list:
sum += data
print(sum)
第二种就是直接代码中构造数据。