6.给定数组{{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0}, {9,8,7,6,5},{3,4,5,6,7}}设计一个函数fun,其功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。(10分)
时间: 2023-10-03 22:08:34 浏览: 78
2.请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。_请编写函数fun,它的功能是 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7_Inspiration666的博客-CSDN博客.mht
以下是实现代码:
```python
def fun(arr):
m = len(arr)
res = [[0] * m for _ in range(m)]
for i in range(m):
for j in range(m):
res[i][j] = arr[i][j]
print(res[i][j], end=' ')
print()
sum1, sum2 = 0, 0
for i in range(m):
sum1 += res[i][i]
sum2 += res[i][m-i-1]
return sum1 + sum2
```
函数 `fun` 接受一个二维数组 `arr`,首先根据其长度生成一个 `m` 行 `m` 列的全零方阵 `res`,并将 `arr` 中的元素赋值给 `res` 对应位置,并输出方阵。然后遍历 `res` 计算两条对角线上各元素之和,最后返回两条对角线之和的值。
测试代码如下:
```python
arr = [[1,2,3,4,5],[4,3,2,1,0],[6,7,8,9,0],[9,8,7,6,5],[3,4,5,6,7]]
print(fun(arr)) # 输出方阵并返回对角线之和
```
输出结果:
```
1 2 3 4 5
4 3 2 1 0
6 7 8 9 0
9 8 7 6 5
3 4 5 6 7
33
```
对角线之和为 33。
阅读全文