1. 程式人生 > 其它 >2021-2022-1 20211329《資訊保安專業導論》第六週學習總結

2021-2022-1 20211329《資訊保安專業導論》第六週學習總結

作業資訊

作業模板:https://www.cnblogs.com/rocedu/p/9577842.html#JXJC

作業要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06

教材學習內容總結

看漫畫學python

第六章容器型別的資料

1序列:序列包括列表(list)、字串(str)、元組(tuple)和位元組序列(bytes)等。

索引操作,加和乘操作,切片操作

2列表

建立列表:

建立列表有兩種方法。
1 list(iterable)函式:引數iterable是可迭代物件(字串、列表、元組、集合和字典等)。
2 [元素1,元素2,元素3,⋯]:指定具體的列表元素,元素之間以逗號分隔,列表元素需要使用中括號括起來。

列表是可變的序列物件,列表可以追加元素。
1 在列表中追加單個元素時,可以使用列表的append(x)方法。
2 在列表中追加多個元素時,可以使用加(+)運算子或列表的extend(t)方

插入,替換,刪除元素

2元組

建立元組時有兩種方法。
1 tuple(iterable)函式:引數iterable是可迭代物件(字串、列表、元組、集合和字典等)。

2 (元素1,元素2,元素3,⋯):指定具體的元組元素,元素之間以逗號分隔。對於元組元素,可以使用小括號括起來,也可以省略小括號。

3集合

我們可以通過以下兩種方式建立集合。
1 set(iterable)函式:引數iterable是可迭代物件(字串、列表、元組、集合和字典等)。
2 {元素1,元素2,元素3,⋯}:指定具體的集合元素,元素之間以逗號分隔。對於集合元素,需要使用大括號括起來。

修改集合類似於修改列表,可以向其中插入和刪除元素。修改可變集合有如右所示的常用方法。
add(elem):新增元素,如果元素已經存在,則不能新增,不會丟擲錯誤。
remove(elem):刪除元素,如果元素不存在,則丟擲錯誤。
clear( ):清除集合。

4字典

我們可以通過以下兩種方法建立字典。
1 dict( )函式。
2 {key1:value1,key2:value2,...,key_n:value_n}:指定具體的字典鍵值對,鍵值對之間以逗號分隔,最後用大括號括起來。

修改字典

第七章字串

1普通字串用單引號(‘)或雙引號(“)括起來的字串

2原始字串

3長字串如果要使用字串表示一篇文章,其中包含了換行、縮排等排版字元,則可以使用長字串表示。對於長字串,要使用三個單引號(''')或三個雙引號(""")括起來。

字串與數字的相互轉換

將字串轉換為數字,可以使用int( )和float( )實現,如果成功則返回數字,否則引發異常。

將數字轉換為字串

將數字轉換為字串,可以使用str( )函式,str( )函式可以將很多型別的資料都轉換為字串。

格式化字串

佔位符:({})

格式化控制符

格式化控制符位於佔位符索引或佔位符名字的後面,之間用冒號分隔,語法:{引數序號:格式控制符}或{引數名:格式控制符}。

操作字串

字串的find( )方法用於查詢子字串。該方法的語法為str.find(sub[,start[,end]]),表示:在索引start到end之間查詢子字串sub,如果找到,則返回最左端位置的索引;如果沒有找到,則返回-1。

字串替換

replace( )方法替換匹配的子字串,返回值是替換之後的字串。該方法的語法為str.replace(old,new[,count]),表示:用new子字串替換old子字串。count引數指定了替換old子字串的個數,如果count被省略,則替換所有old子字串。

字串分割

可以使用split( )方法,按照子字串來分割字串,返回字串列表物件。該方法的語法為str.split(sep=None,maxsplit=-1),表示:使用sep子字串分割字串str。maxsplit是最大分割次數,如果maxsplit被省略,則表示不限制分割次數。

電腦科學導論:

第七章問題求解與演算法設計

如何解決問題

(1)必須理解問題

(2)設計方案

(3)執行方案

(4)回顧

分治法

簡單來說就是把一個任務分成若干個小任務

演算法:在有限的時間內用有限的資料解決問題或子問題的明確指令集合

計算機問題求解過程

分析和說明階段,演算法開發階段,實現階段和維護階段

方法總結

1分析問題

2列出主要任務

3編寫其餘的模組

4根據需要進行重組和改寫

有簡單變數的演算法

1帶有選擇的演算法

2帶有迴圈的演算法

複雜變數

1陣列:同構專案的有名集合

2記錄

搜尋演算法

1順序搜尋

2有序陣列中的順序搜尋

二分檢索:演算法假設要搜尋的陣列是有序的,其中每次操作可以找到的專案火把陣列減少一半。

排序

1選擇排序

2氣泡排序

3插入排序

遞迴演算法:演算法呼叫它本身的能力

子程式語句:命名程式碼出現的地方叫呼叫單位。一種抽象的強力工具。

遞迴階乘

遞迴二分檢索

資訊隱蔽:隱蔽模組的細節以控制對這些細節的房屋做法。

抽象:複雜系統的一種型別,只包括對觀察者來說的必需的細節。

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

問題1:為什麼字串轉換時int(’AB‘)會失敗

問題1解決方案:預設情況下,int()函式都將字串引數當作十進位制數字進行轉換

問題2:帶有選擇演算法的運用

問題2解決方案:實踐操作

      • 程式碼除錯中的問題和解決過程

      • 練習
      • 上週考試錯題總結



          • 感悟:學習到了簡單型別與組合型別,查詢與排序演算法,polya如何解決問題

          • 學習進度條

            程式碼行數(新增/累積)部落格量(新增/累積)學習時間(新增/累積)重要成長
            目標 5000行 30篇 400小時
            第一週 2/200 2/2 20/20
            第二週 0/500 2/4 18/38
            第三週 500/1000 3/7 22/60
            第四周 300/1300 2/9 30/90
            • 計劃學習時間:10小時

            • 實際學習時間:8小時

            • 改進情況:做好每日規劃

              參考資料

              • [機科學概論]
              • 看漫畫學python