本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
前言
用Python做線代
問題描述
大二學習了行列式的部分知識,所以就想能不能用Python計算簡單的行列式計算。
輸入:新建文件夾,建立一個新的Excel,寫入圖1數據,並重命名這頁sheet爲計算,並將Excel,和Python文件都要保存在這個文件夾裏面,如果不這樣的話就要在寫Python的時候把路徑寫完整。
(圖1)
輸出:
解決方案
用到了Python裏面的openpyxl,用到了表格,就想到了行列式,其實光用到Python也可以得到結果但是用到openpyxl會讓程序顯得更貼近生活。用到了行列式的對角線求法。
代碼清單 1 DFS求解1到100求和問題Python代碼
import openpyxl#引入openpyxl filename = r'./求33的矩陣.xlsx' wb = openpyxl.load_workbook(filename)#打開Excel ws = 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=x11 x15=x12 x24=x21 x25=x22 x34=x31 x35=x32 result =(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,主要還是爲了後續數據的儲存操作打下基礎。
實習編輯:衡輝
作者:成浩宇 潘鈺昆 敖泳
稿件來源:深度學習與文旅應用實驗室(DLETA)
本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。