Python編程做中學

Python編程做中學

《Python編程做中學》是2022年人民郵電出版社出版的圖書,作者是[加] 丹尼爾·津加羅(Daniel Zingaro)。

基本介紹

  • 中文名:Python編程做中學
  • 作者:[加] 丹尼爾·津加羅(Daniel Zingaro)
  • 出版時間:2022年8月1日
  • 出版社:人民郵電出版社
  • ISBN:9787115589392
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

本書是一本零基礎的Python編程入門書。全書介紹了Python的基本知識、條件語句、循環語句、列表、函式,並涉及到數據結構、檔案讀寫、算法等基本知識,引入了編程競賽中重要的軟體運行效率的概念。本書立足各編程挑戰網站上的真題,將編程的基本思想和Python的知識點拆解成小任務,使讀者在解題的過程中逐步探索,以親自上手實踐的方式學習編程。
本書適合想要零基礎學習編程和Python的人閱讀。

圖書目錄

第 1章 啟程 1
1.1 我們要做的事情 1
1.2 Python Shell 2
1.2.1 Windows 2
1.2.2 macOS 3
1.2.3 Linux 3
問題1:單詞計數 4
挑戰 4
輸入 4
輸出 4
1.3 字元串 4
1.3.1 表示字元串 5
1.3.2 字元串操作符 5
1.3.3 字元串方法 6
1.4 整數和浮點數 7
1.4.1 變數 9
1.4.2 賦值語句 9
1.4.3 改變變數的值 10
1.5 使用變數來計數單詞 11
1.6 讀輸入 11
1.7 寫輸出 12
1.8 解決問題:一個完整的Python
程式 13
1.8.1 啟動文本編輯器 13
1.8.2 Windows 13
1.8.3 macOS 13
1.8.4 Linux 13
1.8.5 程式 13
1.8.6 運行程式 14
1.8.7 提交給裁判員 14
問題2:圓錐體積 15
挑戰 15
輸入 15
輸出 15
1.9 Python中的更多數學 15
1.9.1 訪問Pi 15
1.9.2 指數 16
1.10 字元串和整數之間的轉換 16
1.11 解決問題 18
1.12 小結 19
1.13 練習 19
1.14 備註 19
第 2章 做判斷 20
問題3:獲勝球隊 20
挑戰 20
輸入 20
輸出 21
2.1 有條件執行 21
2.2 布爾類型 22
2.3 關係操作符 22
2.4 if語句 24
2.4.1 單獨的if 24
2.4.2 帶有elif的if 25
2.4.3 帶有else的if 26
2.5 解決問題 28
問題4:電話推銷員 29
挑戰 29
輸入 30
輸出 30
2.6 布爾操作符 30
2.6.1 or操作符 30
2.6.2 and操作符 31
2.6.3 not操作符 31
2.7 解決問題 32
2.8 注釋 34
2.9 輸入和輸出重定向 34
2.10 小結 35
2.11 練習 36
2.12 備註 36
第3章 重複代碼:定循環 37
問題5:三個杯子 37
挑戰 37
輸入 37
輸出 38
3.1 為什麼要循環? 38
3.2 for循環 38
3.3 嵌套 40
3.4 解決問題 42
問題6:已占用停車位 44
挑戰 44
輸入 44
輸出 44
3.5 一種新循環 44
3.6 索引 45
3.7 循環的範圍 46
3.8 範圍用於循環遍歷索引 48
3.9 解決問題 49
問題7:數據套餐 50
挑戰 50
輸入 50
輸出 50
3.10 循環讀取輸入 50
3.11 解決問題 51
3.12 小結 52
3.13 練習 53
3.14 備註 53
第4章 重複代碼:不定循環 54
問題8:老虎機 54
挑戰 54
輸入 54
輸出 55
4.1 探索一個測試用例 55
4.2 for循環的局限性 56
4.3 while循環 57
4.3.1 使用while循環 57
4.3.2 循環中的嵌套循環 60
4.3.3 添加布爾操作符 61
4.4 解決問題 61
4.5 模操作符 64
4.6 F-字元串 66
問題9:歌曲播放列表 67
挑戰 67
輸入 67
輸出 68
4.7 字元串切片 68
4.8 解決問題 70
問題10:秘密句子 71
挑戰 72
輸入 72
輸出 72
4.9 for循環的另一個局限性 72
4.10 while循環遍歷索引 73
4.11 解決問題 75
4.12 break和continue 75
4.12.1 break 76
4.12.2 continue 77
4.13 小結 78
4.14 練習 78
4.15 備註 78
第5章 用列表來組織值 79
問題11:村莊鄰域 79
挑戰 79
輸入 80
輸出 80
5.1 為什麼是列表? 80
5.2 列表 81
5.3 列表的可變性 83
5.4 學習有關方法 85
5.5 列表方法 86
5.5.1 添加到一個列表 87
5.5.2 對列表排序 88
5.5.3 從列表中移除數值 88
5.6 解決問題 89
5.7 避免代碼重複:還有兩個解決
方案 91
5.7.1 使用一個巨大的大小 91
5.7.2 建立保存大小的列表 92
問題12:學校旅行 93
挑戰 93
輸入 93
輸出 93
隱藏的麻煩 93
5.8 分割字元串和連線列表 94
5.8.1 將字元串分割成列表 94
5.8.2 將列表連線成字元串 94
5.9 改變列表值 95
5.10 解決大部分的問題 96
5.10.1 探索一個測試用例 96
5.10.2 代碼 97
5.11 如何處理隱藏的麻煩 98
5.11.1 探索一個測試用例 98
5.11.2 更多列表操作 99
5.11.3 尋找最大值的索引 99
5.11.4 解決問題 100
問題13:麵包房獎金 100
挑戰 101
輸入 101
輸出 101
5.12 表示一個表格 101
5.12.1 探索一個測試用例 101
5.12.2 嵌套列表 102
5.13 解決問題 104
5.14 小結 105
5.15 練習 106
5.16 備註 106
第6章 用函式來設計程式 107
問題14:紙牌遊戲 107
挑戰 107
輸入 108
輸出 108
6.1 探索一個測試用例 108
6.2 定義和調用函式 109
6.2.1 沒有實參的函式 110
6.2.2 帶實參的函式 110
6.2.3 關鍵字實參 112
6.2.4 局部變數 112
6.2.5 可變的形參 113
6.2.6 返回值 114
6.3 函式文檔 116
6.4 解決問題 117
問題15:可動人偶 119
挑戰 120
輸入 120
輸出 120
6.5 表示盒子 120
6.6 自頂向下的設計 121
6.6.1 進行自頂向下的設計 121
6.6.2 最高層 121
6.6.3 任務1:讀輸入 123
6.6.4 任務2:檢查所有盒子是否
都沒問題 124
6.6.5 任務3:獲得只有左右高度的
新盒子列表 126
6.6.6 任務4:對盒子進行排序 127
6.6.7 任務5:判斷盒子是否
整理好 127
6.6.8 整合在一起 129
6.7 小結 131
6.8 練習 132
6.9 備註 132
第7章 讀寫檔案 133
問題16:文章格式化 133
挑戰 133
輸入 133
輸出 134
7.1 操作檔案 134
7.1.1 打開檔案 134
7.1.2 讀取檔案 135
7.1.3 寫入檔案 138
7.1.4 關閉檔案 139
7.2 解決問題 139
7.2.1 探索一個測試用例 139
7.2.2 代碼 140
問題17:農場播種 141
挑戰 142
輸入 142
輸出 142
7.3 探索一個測試用例 142
7.4 自頂向下的設計 145
7.4.1 頂層 145
7.4.2 任務1:讀取輸入 146
7.4.3 任務2:識別奶牛 147
7.4.4 任務3:排除草種 149
7.4.5 任務4:選擇數字最小的
草種 150
7.4.6 任務5:寫輸出 151
7.5 小結 156
7.6 練習 156
7.7 備註 156
第8章 用集合和字典來組織值 157
問題18:電子郵件地址 157
挑戰 157
輸入 158
輸出 158
8.1 使用列表 158
8.1.1 清理一個電子郵件地址 158
8.1.2 主程式 160
8.2 搜尋列表的效率 161
8.3 集合 162
8.4 集合方法 164
8.5 搜尋集合的效率 165
8.6 解決問題 166
問題19:常見單詞 167
挑戰 167
輸入 167
輸出 168
8.7 探索一個測試用例 168
8.8 字典 169
8.9 索引字典 171
8.10 循環遍歷字典 173
8.11 倒置字典 175
8.12 解決問題 177
8.12.1 代碼 177
8.12.2 添加後綴 178
8.12.3 尋找第k個最常見的
單詞 179
8.12.4 主程式 179
問題20:城市和州 180
挑戰 180
輸入 180
輸出 180
8.13 探索一個測試用例 180
8.14 解決問題 182
8.15 小結 183
8.16 練習 184
8.17 備註 184
第9章 用完全搜尋設計算法 185
問題21:救生員 185
挑戰 185
輸入 186
輸出 186
9.1 探索一個測試用例 186
9.2 解決問題 187
9.2.1 解僱一名救生員 187
9.2.2 主程式 188
9.2.3 程式的效率 189
問題22:滑雪場 190
挑戰 190
輸入 191
輸出 191
9.3 探索一個測試用例 191
9.4 解決問題 192
9.4.1 確定一個範圍的成本 192
9.4.2 主程式 193
問題23:奶牛棒球 195
挑戰 195
輸入 195
輸出 195
9.5 使用三個嵌套循環 195
9.5.1 代碼 195
9.5.2 程式的效率 198
9.6 先排序 198
9.6.1 代碼 198
9.6.2 程式的效率 200
9.7 Python模組 201
9.8 bisect模組 202
9.9 解決問題 204
9.10 小結 206
9.11 練習 206
9.12 備註 206
第 10章 大O和程式效率 208
10.1 計時的問題 208
10.2 大O 210
10.2.1 常數時間 210
10.2.2 線性時間 211
10.2.3 平方時間 214
10.2.4 立方時間 216
10.2.5 多變數 217
10.2.6 對數時間 218
10.2.7 n log n時間 219
10.2.8 處理函式調用 220
10.2.9 小結 222
問題24:最長圍巾 222
挑戰 222
輸入 223
輸出 223
10.3 探索一個測試用例 223
10.4 算法1 223
10.5 算法2 224
問題25:絲帶染色 226
挑戰 226
輸入 226
輸出 227
10.6 探索一個測試用例 227
10.7 解決問題 227
10.8 小結 230
10.9 練習 230
10.10 備註 230
後記 231
附錄A 問題鳴謝 232

作者簡介

丹尼爾.辛格羅(Daniel Zingaro)博士是多倫多大學密西沙加分校計算機科學教學流中的獲獎副教授,他在主動學習方面的專長得到了國際認可。他也是《算法思維》(No Starch Press)的作者。

相關詞條

熱門詞條

聯絡我們