python编程题计算矩阵对角线_Python练习题 028:求3*3矩阵对角线数字之和

【Python练习题 028】 求一个3*3矩阵对角线元素之和

-----------------------------------------------------

这题解倒是解出来了,但总觉得代码太啰嗦。矩阵这东西,应该有个很现成的方法可以直接计算才对…… 啰嗦代码如下:

str = input(‘请输入9个数字,用空格隔开,以形成3*3矩阵:‘)

n = [int(i) for i in str.split(‘ ‘)] #获取9个数字

mx = [] #存储矩阵

for i in range(3):

mt = [] #收集矩阵中每行的数字列表

for j in range(3):

mt.append(n[i*3 + j])

mx.append(mt) #每行数字存储进mx列表

print(mt)

sum1 = 0

sum2 = 0

for i in range(3):

sum1 += mx[i][i]

sum2 += mx[2-i][i]

print(‘\方向对角线3元素之和为:%s‘ % sum1)

print(‘/方向对角线3元素之和为:%s‘ % sum2)

输出结果如下:

请输入9个数字,用空格隔开,以形成3*3矩阵:7 9 6 5 4 8 6 7 3

[7, 9, 6]

[5, 4, 8]

[6, 7, 3]

\方向对角线3元素之和为:14

/方向对角线3元素之和为:16

只要将代码稍微改一下,就可以接受任意 n*n 矩阵的计算了,而且数字数目输入有误时,也可以提示重新输入。改后代码如下:

import math

err = True

while err:

str = input(‘请输入n**2个数字,用空格隔开,以形成n*n的矩阵:‘)

n = [int(i) for i in str.split(‘ ‘)] #获取9个数字

t = math.floor(math.sqrt(len(n)))

if t == math.sqrt(len(n)) and t != 1:

err = False

else:

print(‘您输入的数字个数有误,请重试。‘)

mx = [] #存储矩阵

for i in range(t):

mt = [] #收集矩阵中每行的数字列表

for j in range(t):

mt.append(n[i*t + j])

mx.append(mt) #每行数字存储进mx列表

print(mt)

sum1 = 0

sum2 = 0

for i in range(t):

sum1 += mx[i][i]

sum2 += mx[t-1-i][i]

print(‘\方向对角线元素之和为:%s‘ % sum1)

print(‘/方向对角线元素之和为:%s‘ % sum2)

输出结果如下:

请输入n**2个数字,用空格隔开,以形成n*n的矩阵:8 7 5 4 3 5 6 7 4 5 3 4 2 9 8 7 5 8 9 6 5 2 3 2 6

[8, 7, 5, 4, 3]

[5, 6, 7, 4, 5]

[3, 4, 2, 9, 8]

[7, 5, 8, 9, 6]

[5, 2, 3, 2, 6]

\方向对角线元素之和为:31

/方向对角线元素之和为:19

虽然凑合能用,但我仍然坚信,Python肯定已经准备好了什么函数或方法,可以轻松计算矩阵。容我有空好好搜索一番,再来更新。

++++++++++++++++++++++++++++++++++++++

原文:http://www.cnblogs.com/iderek/p/5978918.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音2020研究报告_抖音音乐发布2020抖音音乐生态数据报告

近几年,随着原创音乐产业规模逐年递增及数字音乐4.0时代觉醒,拓宽了原创音乐创作与宣发渠道,真正实现了大众娱乐生活从“听音乐”到“看音乐”到“玩音乐”的多重共振。11月5日,抖音音乐正式发布《2020抖音音乐生态数据报告》。报…

mysql主备切换 自动_核电生产管理信息系统EAM完成首次备用环境切换演练

安全是核电事业稳步发展的基石,中国核电始终将安全放在第一位,在系统设计及日常管理中,注重安全备用及安全冗余的考虑。核电生产管理信息系统作为核电现场业务的主要承载工具,在核电日常生产运行中发挥着越来越重要的作用。近日&a…

外星人台式电脑_戴尔 XPS 和外星人大更新,一边是生产力,一边是游戏

十代酷睿的到来,也催促着终端厂商更迭着旗下的产品线,而今年特殊的情况更让不少居家办公的人意识到生产工具和生产力的可贵。在学生们即将返校,白领们陆续回到办公室的当口,戴尔对旗下产品进行了大更新,全新的 XPS15 和…

C++ string s[10] 和 string s(10,‘ ‘)

string s[10] 定义了一个长度为10的字符串数组 string s(10, ) 定义一个字符串对象&#xff0c;只能存储10个字符 #include<iostream> #include<string> using namespace std; int main() {string ss1[10]; //定义了一个字符串数组 string ss2; //定义了一个字符…

string 中的offset_【Java基础】String常量的长度有限制吗?

备注&#xff1a;JDK版本&#xff1a;1.8.0最近同事问了我一个问题&#xff0c;String常量有长度限制吗&#xff1f;为什么会问起这个问题呢&#xff0c;因为同事在开发中确实遇到了IDEA编译器编译过程中提示字符串常量过长的异常。异常的出现也就证明了String常量是有长度限制…

param[:]=param-lr*param.grad/batch_size的理解

lr*param.grad/batch_size 结果最终为一个标量&#xff08;具体数值&#xff09; param是一个列表 param[:]param-lr*param.grad/batch_size会把列表中的所有元素分别运算&#xff1a; param-lr*param.grad/batch_size import numpy as np wnp.random.normal(scale0.01,siz…

anaconda3安装_Anaconda3软件安装教程

01获取方式Anaconda3 下载地址链接&#xff1a;https://pan.baidu.com/s/1lJJavzMGxjFvxYNyJ_nPAQ提取码&#xff1a;dc5c安装过程中有问题可咨询微信&#xff1a;d73707919702插件详细安装步骤1.找到下载好压缩文件包单击鼠解压到Anaconda32.待到解压完成后双击打开解压后的文…

pip命令提示unknow or unsupported command install解决方法

python的pip一直可以用 再次使用时突然发现有错误&#xff1a; 经百度一查&#xff0c;是因为安装了loadrunner&#xff0c;导致了系统无法识别到底应该用哪个pip。 解决方案&#xff1a; 第一种&#xff1a;删除strawberry&#xff0c;但是这样明显是会影响到其他软件的使用…

python怎么调用navicat_三十七、python操作mysql,和navicat

/*数据导入&#xff1a;Navicat Premium Data TransferSource Server : localhostSource Server Type : MySQLSource Server Version : 50624Source Host : localhostSource Database : sqlexamTarget Server Type : MySQLTarget Server Version : 50624File Encoding : utf-8D…

360浏览器登录_浏览器发展历史介绍及当今主流浏览器的详细对比

作为访问internet的工具&#xff0c;浏览器已经成为我们日常生活中必不可少的上网工具了&#xff0c;它能让你加入全球的网络&#xff0c;通过一个窗口就能够连接世界。当你用浏览器时有没有想过浏览器的发展历史&#xff1f;面对市场上繁多的浏览器你又为什么偏爱你现在用的&a…

backward理解

backward&#xff1a;自动求梯度。计算小批量随机梯度。 当模型和损失函数形式较为简单时&#xff0c;上面的误差最小化问题的解可以直接用公式表达出来。这类解 叫作解析解&#xff08;analytical solution&#xff09;。本节使用的线性回归和平方误差刚好属于这个范畴。然而…

python 归并排序算法_python基本算法之实现归并排序(Merge sort)

0、前言评判一个算法的好坏的标准&#xff1a;时间复杂度空间复杂度1、归并排序算法是什么&#xff1f;冒泡排序(Bubble Sort)是一种建立在归并操作上面的一种有效的排序算法&#xff0c;由John von neumann于1945年发明。采用分治法(Divide and Conquer)的经典应用&#xff01…

excel在线_功能强大的纯前端 Excel 在线表格: Luckysheet

【导语】&#xff1a;Luckysheet是一款类似excel的在线表格&#xff0c;纯前端&#xff0c;功能强大、配置简单、完全开源&#xff0c;几行代码就能展现出一个功能完备的在线表格。简介Luckysheet是一款类似excel的纯前端在线表格&#xff0c;只需要引入js和css文件即可使用。L…

STL-queue.back()队尾误区

queue.back()指向最新插入queue中的值&#xff0c;而非队尾元素&#xff0c; 如&#xff1a;queue.pop()多次&#xff0c;并不会影响queue.back()的值。 STL 英文back()解释&#xff1a; reference& back(); const_reference& back() const; Access last element …

u8 和 char如何转化_EXCEL小知识——如何快速实现文本与数值的互相转化

我是前言嗨&#xff0c;大家好&#xff0c;消失了一个多月&#xff0c;我胡汉三&#xff0c;又回来啦~今天给大家带来的&#xff0c;是如何实现文本与数值之间的 “ 快速 ” 转换&#xff01;众所周知&#xff0c;在一些制造类公司&#xff0c;公司的运营离不开一些系统软件的辅…

navicat er图没有连线_迁徙图?流向图?城市关系强度图?

文章首发于公众号「码上GIS」&#xff0c;欢迎关注。文中流向图和城市关系强度图的 ArcMap 10.5 Mxd 工程和数据可在公众号后台回复「190708」和「190709」获取不记得是从哪年开始&#xff0c;每年春运期间&#xff0c;百度都会发布个春运大数据&#xff0c;其中最让人印象深刻…

卷积层和池化层的计算公式的区别

n为图像宽/高 f为卷积核宽/高 p为填充长度 stride为步长 卷积层后输出图像的大小&#xff1a;&#xff08;n-f2p)/stride 向下取整 池化层后输出图像的大小&#xff1a;&#xff08;n-f2p)/stride 向上取整 4.5 向下取整&#xff1a;4 向上取整&#xff1a;5 参考自&am…

python微信聊天机器人源码_8.【代码】微信聊天机器人(API的应用) - Python网络爬虫实战...

本文档仅作为视频学习过程中的参考不可用于非法途径编程目的&#xff1a;编写微信机器人时间&#xff1a;2018-2-25作者&#xff1a;刘宇V:1.0import urllib.requestimport urllib.parseimport jsonimport itchat# 自动聊天def autoChat(input_data,userid):api_url "htt…

linux删除文件_Linux中删除特殊名称文件的多种方式

今日分享&#xff1a;我们在肉体的疾病方面花了不少钱&#xff0c;精神的病害方面却没有花什么&#xff0c;现在已经到了时候&#xff0c;我们应该有不平凡的学校。--《瓦尔登湖》前言我们都知道&#xff0c;在linux删除一个文件可以使用rm命令&#xff0c;但是有一些特殊名称的…

Python中的lambda和apply结合使用

1、 lambda lambda原型为&#xff1a;lambda 参数:操作(参数) lambda函数也叫匿名函数&#xff0c;即没有具体名称的函数&#xff0c;它允许快速定义单行函数&#xff0c;可以用在任何需要函数的地方。这区别于def定义的函数。 lambda与def的区别&#xff1a; 1&#xff09;…