python-計算矩陣邊緣元素之和(賽氪OJ)

[題目描述]
輸入一個整數矩陣,計算位于矩陣邊緣的元素之和。
所謂矩陣邊緣的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
輸入:
輸入共 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?

? ? ? ? ? ? ? ?(聲明:以上內容均為原創)?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40417.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40417.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40417.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VDS虛擬導播切換臺軟件

VDS 導播軟件是一款功能強大的虛擬導播系統軟件&#xff0c;具有全媒體接入、播出內容豐富、調音臺、快捷切播與導播鍵盤、云臺控制等特點&#xff0c;同時支持向多個平臺直播推流。以下是一些常見的 VDS 導播軟件特點&#xff1a; 1. 全媒體接入&#xff1a;支持多種設備和網…

Ubuntu和Windows系統之Mamba_ssm安裝

Mamba的論文&#xff1a;https://arxiv.org/abs/2312.00752 Mamba的github&#xff1a;https://github.com/state-spaces/mamba 一、Ubuntu安裝 直接新建一個環境是最好的&#xff0c;不然很容易產生各種沖突 # 創建環境和相關包 conda create -n mamba python3.10.13 cond…

設計模式——程序員的武功招式

設計模式就是套路&#xff0c;就是武功招式。 碰到什么問題出什么招。 設計模式是軟件行業幾十年的應對問題的經驗總結——武功招式總結。 大成境界是無招勝有招。 但是問題是無限的&#xff0c;對應的招式&#xff0c;你也可以創建&#xff0c;所以現在設計模式還在不斷的誕生…

嵌入式Framebuffer面試題精要及參考答案

什么是Framebuffer?簡述其在Linux系統中的作用。 Framebuffer,中文譯作幀緩沖,是Linux內核提供的一種抽象設備接口,用于允許用戶態的應用程序直接訪問和操作顯示設備的顯存,從而實現圖形的直接輸出。在Linux系統中,Framebuffer扮演著連接硬件顯卡和軟件應用的關鍵角色。…

Linux 文件系統檢查與修復:使用fsck、e2fsck等命令

Linux文件系統檢查與修復&#xff1a;使用fsck、e2fsck等命令 引言 文件系統是操作系統中用于管理和存儲文件的關鍵組件。然而&#xff0c;文件系統在使用過程中可能會出現各種問題&#xff0c;如數據損壞、文件丟失等。為了確保文件系統的完整性和穩定性&#xff0c;我們需要…

java-arraylist 源碼分析 1

## 深入分析 Java 中的 ArrayList 源碼 ArrayList 是 Java 集合框架中的一個重要類&#xff0c;它基于數組實現&#xff0c;提供了動態數組的功能。ArrayList 是一個非常常用的集合類&#xff0c;因為它在隨機訪問和遍歷方面性能優越。本文將詳細分析 ArrayList 的源碼&#x…

spring cloud gateway客戶端websocket斷開連接,服務側連接沒有關閉的問題處理

之前在單體架構項目中使用了websocket主動推送消息的功能&#xff0c;后來改成了微服務架構&#xff0c;結果發現部分消息丟失&#xff0c;沒能推送給客戶端&#xff1b;深入排查發現服務端無法感知websocket連接狀態&#xff0c;但是在單體架構里面是沒這個問題的&#xff0c;…

Redis【超詳細】

Redis 是一個基于內存的key-value結構的數據庫 一、redis的安裝 1.1、安裝步驟 1&#xff09;安裝Redis依賴 Redis是基于c語言編寫的&#xff0c;因此需要安裝對應的gcc環境 yum install -y gcc tcl 2&#xff09;進入/usr/local/src/目錄上傳并解壓安裝包 解壓&#xf…

【APK】SDKManager運行后閃退

本地JDK已安裝&#xff0c;且配置了環境變量&#xff0c;未安裝 android studiio 問題描述&#xff1a;右鍵以管理員身份運行 SDKManager&#xff0c;終端窗口閃退 問題原因&#xff1a;未找到正確的Java路徑 解決辦法&#xff1a; 1.修改tools目錄下的 android.bat 文件&am…

langchain 入門中篇:數據封裝,Memory 封裝

數據的處理流程可以看一張圖來幫助理解 數據來源可以是網絡&#xff0c;可以是郵件&#xff0c;可以是本地文件 經過 Document Loaders 加載&#xff0c;再在 Transform 階段對文檔進行 split, filter, translate, extract metadata 等操作&#xff0c;之后在 Embed 階段進行向…

Keil用ST-LINK下載STM32程序后不自動運行

之后程序可以運行了&#xff0c;但是串口還沒有輸出&#xff0c;在debug模式下都是ok的。

加權 KNN 算法的原理與詳解

加權kNN&#xff0c;k近鄰算法的增強改進版本。 加權KNN算法 近鄰算法&#xff08;k-Nearest Neighbors, kNN&#xff09;是一種用于分類和回歸的非參數方法。它的基本思想是“看鄰居”&#xff0c;即通過查找離目標點最近的 K 個數據點&#xff0c;來判斷目標點的類別或數值。…

docker安裝elasticesarch-head

安裝 Elasticsearch-Head 通常涉及以下步驟&#xff1a; 拉取 Elasticsearch-Head 的 Docker 鏡像。 運行 Elasticsearch-Head 容器并連接到 Elasticsearch 實例。 以下是具體的命令&#xff1a; 拉取 Elasticsearch-Head 的 Docker 鏡像 docker pull mobz/elasticsearch-…

Sqlserver 如何創建全局只讀賬號?

由于SQL Server不支持全局數據庫權限&#xff0c;因此需要在每個數據庫中創建用戶并授予其只讀權限。可以使用動態SQL腳本來為所有現有數據庫設置權限&#xff0c;具體腳本如下 ##創建登陸賬號CREATE LOGIN user01 WITH PASSWORD password; ##除了系統庫外給user01 db_datare…

FactoryBean原理及用法

它的作用是用制造創建過程較為復雜的產品, 如 SqlSessionFactory, 但 Bean 已具備等價功能 使用 被 FactoryBean 創建的產品 會認為創建、依賴注入、Aware 接口回調、前初始化這些都是 FactoryBean 的職責, 這些流程都不會走 唯有后初始化的流程會走, 也就是產品可以被代理增…

學習aurora64/66b.20240703

簡介 The AMD LogiCORE?IP Aurora 64B/66B core是一種可擴展的輕量級高數據速率鏈路層協議&#xff0c;用于高速串行通信。該協議是開放的&#xff0c;可以使用AMD設備技術實現。 Aurora 64B/66B是一種輕量級的串行通信協議&#xff0c;適用于多千兆位鏈路 (如下圖所示)。它…

【MATLAB源碼-第139期】基于matlab的OFDM信號識別與相關參數的估計,高階累量/小波算法調制識別,循環譜估計,帶寬估計,載波數目估計等等。

操作環境&#xff1a; MATLAB 2022a 1、算法描述 在現代無線通信系統中&#xff0c;正交頻分復用&#xff08;OFDM&#xff09;因其高效的頻譜利用率、強大的抗多徑衰落能力以及靈活的帶寬分配等優勢&#xff0c;成為了一種非常重要的調制技術。然而&#xff0c;隨著無線通信…

采沙船智能監測識別攝像機

對于現代河流管理來說&#xff0c;采沙船智能監測識別攝像機正逐漸成為解決非法采砂和保護河流生態環境的重要工具。這類攝像機通過先進的視覺識別和數據分析技術&#xff0c;有效監控和管理河道上的采沙行為&#xff0c;對保護水域資源和改善生態環境具有顯著的意義。 采沙船智…

Linux容器篇-使用kubeadm搭建一個kubernetes集群

kubernetes集群架構和組件 master節點組件 kube-apiserver&#xff1a;Kubernetes API&#xff0c;集群的統一入口&#xff0c;各組件的協調者&#xff0c;以RESTful API提供接口服務&#xff0c;所有對象資源的增刪改查和監聽操作都交給APIserver處理后再交給Etcd存儲。 kube…

學習Mybatis

Mybatis 第一節 引言 1. 什么是框架 框架是一個半成品&#xff0c;解決了軟件開發過程中的普遍性問題&#xff0c;簡化了開發步驟&#xff0c;提高了開發效率。 2. 什么是ORM ORM全稱為Object Relational Mapping&#xff0c;意為對象關系映射&#xff0c;主要實現了將程序…