python-计算矩阵边缘元素之和(赛氪OJ)

发布于:2024-07-08 ⋅ 阅读:(41) ⋅ 点赞:(0)

[题目描述]
输入一个整数矩阵,计算位于矩阵边缘的元素之和。
所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入:
输入共 m + 1 行。
第一行包含两个整数 m, n (1 < m,n < 100) ,分别为矩阵的行数 m 和列数 n,两者之间以一个空格分开。
第 2 至第 m + 1 行数据中,每行包含 n 个整数,整数之间以一个空格分开。
输出:
输出共一行,包含一个整数,即对应矩阵的边缘元素和。
样例输入1
3 3
3 4 1
3 7 1
2 0 1

样例输出1
15

来源/分类(难度系数:一星)


完整代码展示:
a,b=map(int,input().split())
c=[]
for i in range(a):
    d=list(map(int,input().split()))
    c.append(d)
if len(c)<3:
    e=0
    sum=0
    while e<len(c):
        for j in range(0,len(c[e])):
            sum+=c[e][j]
        e+=1
    print(sum)
else:
    e=0
    sum=0
    while e<len(c):
        for j in range(0,len(c[e])):
            if e>=1 and j>=1 and e<=len(c)-2 and j<=len(c[e])-2:
                pass
            else:
                sum+=c[e][j]
        e+=1
print(sum)


代码解释:
a,b=map(int,input().split())
 c=[]                                         
”,让用户输入矩阵的行数a和列数b。建立一个空列表c。
for i in range(a):
       d=list(map(int,input().split()))
       c.append(d)             
                       ”,建立列表d,其内储存用户输入b个元素,接着将列表d添加进列表c中。重复以上操作a次,形成列表嵌套结构。
if len(c)<3:

      e=0
      sum=0
      while e<len(c):
             for j in range(0,len(c[e])):
                   sum+=c[e][j]
             e+=1
      print(sum)              
                   ”,遍历列表c中的元素(列表),当矩阵元素的行数小于等于2时,矩阵边缘元素的总和即为列表c中所有元素的总和。打印总和sum。
else:
         e=0
         sum=0
         while e<len(c):
                for j in range(0,len(c[e])):
                      if e>=1 and j>=1 and e<=len(c)-2 and j<=len(c[e])-2:
                           pass
                     else:
                            sum+=c[e][j]
               e+=1
        print(sum)                                
                    ”,遍历列表c,当矩阵元素的行数大于等于3时,矩阵边缘元素即为矩阵中行,列数均大于等于2,且行数小于等于a-1,列数小于等于b-1的所有元素,求其总和,即为矩阵边缘元素的总和。打印总和sum。


运行效果展示:

79be1a6b953849f2b9d15ed81997d426.jpg

a7acd7ab3451406cb1fc9d7e8cbe56ca.jpg 

               (声明:以上内容均为原创) 


网站公告

今日签到

点亮在社区的每一天
去签到