1. 程式人生 > 其它 >2021-2022-1 20211322肖權城 《資訊保安專業導論》第6周學習總結

2021-2022-1 20211322肖權城 《資訊保安專業導論》第6周學習總結

2021-2022-1 20211322肖權城 《資訊保安專業導論》第6周學習總結

作業資訊

這個作業屬於哪個課程 2020-2021-1資訊保安專業導論
這個作業要求在哪裡 2020-2021-1資訊保安專業導論第6周作業)

|作業正文|https://www.cnblogs.com/xiaoquancheng/ |

作業目標

  • Polya如何解決問題
  • 簡單型別與組合型別
  • 複合資料結構
  • 查詢與排序演算法
  • 演算法複雜度
  • 遞迴
  • 程式碼安全

教材學習內容總結

電腦科學概論

如何解決問題 第一:你必須弄清問題。弄清問題

             第二:擬定計劃/方案 
             第三:實行你的計劃。實現計劃。
             第四:驗算所得到的解。

簡單型別與組合型別 在記憶體中儲存的資料可以有多種型別。

例如: -個人的姓名可以用字元型儲存,年齡可以使用數值型儲存,婚姻狀況可以使用布林型儲存。這裡的字元型、數值型、 布林型都是Python語言中提供的基本組合型別 序列型別;元素向量 ‘

集合型別;元素集合

對映型別;鍵-值資料項的組合

複合資料結構 字串表示一個可以變長的字元陣列,是一種重要的資料結構。原因有二,第一,文字在計算機應用中有不可替代的作用,而文字直接對應字串;第二,計算機可以高效地讀取位元組,而位元組對應著字元(字元通過編碼表和二進位制位元組對應)C語言中的字串是基於字元陣列的表示終結。 關於字串的操作,被封裝為庫函式。
基本操作有計算長度,複製,比較,字首比較,追加等等。

查詢與排序演算法 - 線性查詢:線性查詢,又稱為順序查詢,是指在所有給定的值中從一端開始逐個檢查每個元素是否為要查詢的物件,直到找到為止的過程 - 查詢與排序演算法:快速排序演算法是一種基於交換的排序,系統地交換反序的記錄的偶對,直到不再有這樣一來的偶對為止。它是對氣泡排序的一種改進。 快速排序的過程是這樣的。首先,將待排序的陣列從前向後和從後向前各取出一個元素進行對比交換,從而將待排序的陣列分成兩個部分,前一部分的所有元素都小於後一部分的所有元素,但前後兩部分內部仍然是無序的狀態。然後再將前一部分的所有元素從前向後和從後向前各取出一個元素進行對比交換,從而將前一部分的所有元素再分成兩個部分,這兩部分的前一部分的所有元素都小於後一部分的所有元素,依次類推,直到被分割的部分只有一個元素為止。下一步,再將後一部分的所有元素從前向後和從後向前各取出一個元素進行對比交換並分成兩個部分。這樣分到最後,陣列將排好序 (網上查詢)

演算法複雜度 演算法複雜度是指演算法在編寫成可執行程式後,執行時所需要的資源,資源包括時間資源和記憶體資源。應用於數學和計算機導論

遞迴 序呼叫自身的程式設計技巧稱為遞迴( recursion)。遞迴做為一種演算法在程式設計語言中廣泛應用。 一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的程式碼量。遞迴的能力在於用有限的語句來定義物件的無限集合。一般來說,遞迴需要有邊界條件、遞迴前進段和遞迴返回段。當邊界條件不滿足時,遞迴前進;當邊界條件滿足時,遞迴返回。

看漫畫學python

序列包括:元組,字串,列表(沒有字典) 以及切片操作 可通過下標運算子來訪問序列中的元素


成員測試

列表創造方式 1:使用LIST函式 2:使用[xx,xxx,xxxx,xx]建立

列表元素的追加,插入,替換,刪除

追加:可用append增加整個元素型別進去(只能增加一個元素),也可以使用extend增加多個元素到列表中
插入:使用insert函式 XXX.insert(i,x) 這樣會在i(序列切片)之前插入一個元素
替換:list[1]="xxx" 直接換
刪除:兩種方法 可以直接del 也可以.remove(元素名)也可以.pop(序列值)

元組

集合

字典 注意dict(zip[102,122,1223],[232,223,442])字典打包方式


字串的一些操作





教材學習中的問題和解決過程

問題:不明白為什麼元組中的列表元素能夠修改
解決方案:詢問同學
問題:不會用pep9指令求三個數的和
解決方案:上網查詢資料

程式碼除錯在的問題與解決方案

問題:不會編寫XOR程式
解決方案:上網查詢程式碼

上週考試錯題總結

其他感悟

對python的理解明顯加深,會更努力的學習

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 21/21 2/2 20/20
第二週 31/52 2/4 18/38
第三週 41/93 3/7 22/60
第四周 10/103 2/9 30/90
第五週 23/126 2/11 30/120
第六週 23/139 3/14 12/132