算法创作|简单行列式问题解决方法
前言用Python做线代问题描述大二学习了行列式的部分知识,所以就想能不能用Python计算简单的行列式计算。输入:新建文件夹,建立一个新的Excel,写入图1数据,并重命名这页sheet为计算,并将Excel,和Python文件都要保存在这个文件夹里面,如果不这样的话就要在写Python的时候把路径写完整。
(图1)输出:
解决方案用到了Python里面的openpyxl,用到了表格,就想到了行列式,其实光用到Python也可以得到结果但是用到openpyxl会让程序显得更贴近生活。用到了行列式的对角线求法。代码清单 1 DFS求解1到100求和问题Python代码import openpyxl#引入openpyxlfilename = r'./求33的矩阵.xlsx'wb = openpyxl.load_workbook(filename)#打开Excelws = wb ['计算']#打开'计算’这页x11=float(ws.cell(1,1).value)x12=float(ws.cell(1,2).value)x13=float(ws.cell(1,3).value)x21=float(ws.cell(2,1).value)x22=float(ws.cell(2,2).value)x23=float(ws.cell(2,3).value)x31=float(ws.cell(3,1).value)x32=float(ws.cell(3,2).value)x33=float(ws.cell(3,3).value)x14=x11x15=x12x24=x21x25=x22x34=x31x35=x32result =(x11 * x22 * x33) + (x12 * x23 * x31) + (x13 * x21 * x32) - (x13 * x22 * x31) - (x11 * x23 * x32) - (x12 * x21 * x33)#用对角线法则计算ws.cell(5,2).value = result#在(5,2)这个单元格写入结果wb.save(filename+'1.xlsx')#保存print('执行完毕')结语操作还是会显得笨重,不够便捷,这次主要还是为了用上openpyxl,主要还是为了后续数据的储存操作打下基础。实习编辑:衡辉作者:成浩宇 潘钰昆 敖泳