青少年學Python
內容描述
Python 是一門非常流行的編程語言,不僅有著非常廣泛的應用,而且由於學習門檻較低,適合中小學生和青少年學習。
本書幫助讀者利用Python語言進入編程世界。本書強調以計算和算法思維訓練為導向,從電腦的工作原理和算法基礎開始,詳細介紹了Python 編程的基礎知識,進而引入了數據結構、過程式編程和麵向對象編程等話題。全書圖文並茂,講解細致,包含100 多道已解答和200 道未解答的練習,250 多道判斷題,100 道多選題和100 道復習題,可以幫助讀者牢固地掌握所學的知識。
本書適合任何希望使用正確的習慣和技術開始學習或教授電腦編程的人,尤其適合10歲以上的孩子或者他們的父母和老師教孩子學習編程。
目錄大綱
第1章計算機是如何工作的
1.1引言/ 1
1.2什麼是硬件/ 1
1.3什麼是軟件/ 2
1.4計算機如何執行(運行)程序/ 2
1.5編譯器和解釋器/ 3
1.6什麼是源代碼/ 3
1.7複習題:判斷對錯/ 3
1.8複習題:選擇題/ 4
1.9複習題/ 6
第2章Python和集成開發環境
(IDE)
2.1什麼是Python / 7
2.2 Python是如何工作的/ 7
2.3如何配置Python / 7
2.4集成開發環境/ 8
2.5 IDLE / 8
2.6如何設置IDLE / 8
2.7 Eclipse / 8
2.8如何設置Eclipse / 9
2.9複習題/ 11
第3章基礎算法概念
3.1什麼是算法/ 12
3.2製作一杯奶茶的算法/ 12
3.3什麼是計算機程序/ 13
3.4 3個參與者/ 13
3.5創建算法的3個主要階段/ 13
3.6什麼是“保留字” / 14
3.7您的第一個Python程序/ 15
3.8語法錯誤、邏輯錯誤和運行時
錯誤有什麼區別/ 15
3.9 “調試”是什麼意思/ 16
3.10為您的代碼添加註釋/ 16
3.11複習題:判斷對錯/ 17
3.12複習題:選擇題/ 18
3.13複習題/ 19
第4章變量與常量
4.1什麼是變量/ 20
4.2變量類型/ 21
4.3 Python中的變量命名規則/ 22
4.4 “聲明一個變量”是什麼
意思/ 22
4.5複習題:判斷對錯/ 23
4.6複習題:選擇題/ 23
4.7鞏固練習/ 24
4.8複習題/ 24
第5章處理輸入和輸出
5.1使用什麼語句將消息和結果輸出到用
戶的屏幕/ 25
5.2如何修改print語句的默認行為/ 26
5.3用戶輸入及提示/ 27
5.4複習題:判斷對錯/ 29
5.5複習題:選擇題/ 29
5.6複習題/ 30
第6章運算符
6.1賦值運算符/ 31
6.2算術運算符/ 32
6.3什麼是算術運算符的優先級/ 33
6.4複合賦值運算符/ 34
6.5字符串運算符/ 35
6.6複習題:判斷對錯/ 36
6.7複習題:選擇題/ 37
6.8鞏固練習/ 38
6.9複習題/ 39
第7章使用IDLE
7.1引言/ 40
7.2創建一個新的Python
模塊/ 40
7.3編寫和執行Python程序/ 41
7.4發現運行時錯誤和語法
錯誤/ 42
第8章使用Eclipse
8.1引言/ 44
8.2創建一個新的Python項目/ 44
8.3編寫和執行Python程序/ 47
8.4發現運行時錯誤和語法錯誤/ 48
第9章編寫第一個真正
的程序
9.1介紹/ 50
9.2鞏固練習/ 52
9.3複習題/ 53
第10章操作數字
10.1引言/ 54
10.2有用的函數和方法/ 54
10.3複習題:判斷對錯/ 58
10.4複習題/ 59
第11章操作字符串
11.1引言/ 61
11.2從字符串中檢索單個字符/ 61
11.3提取子串/ 63
11.4有用的函數和方法/ 65
11.5複習題:判斷對錯/ 70
11.6複習題:選擇題/ 71
11.7鞏固練習/ 72
11.8複習題/ 72
第12章提出問題
12.1引言/ 74
12.2如何編寫簡單的問題/ 74
12.3邏輯運算符和復雜的問題/ 76
12.4 Python成員關係運算符/ 78
12.5邏輯運算符的優先順序/ 78
12.6算術、比較和邏輯運算符的
優先順序/ 79
12.7將自然語句轉換為布爾表達式/ 80
12.8複習題:判斷對錯/ 82
12.9複習題:選擇題/ 83
12.10鞏固練習/ 83
12.11複習題/ 85
第13章提出問題—if結構
13.1 if結構/ 86
13.2複習題:判斷對錯/ 91
13.3複習題:選擇題/ 91
13.4鞏固練習/ 92
13.5複習題/ 93
第14章提出問題—if-else結構
14.1 if-else結構/ 94
14.2複習題:判斷對錯/ 97
14.3複習題:選擇題/ 97
14.4鞏固練習/ 98
第15章提出問題—if-elif結構
15.1 if-elif結構/ 100
15.2複習題:判斷對錯/ 104
15.3鞏固練習/ 105
第16章提出問題—嵌套結構
16.1嵌套決策結構/ 109
16.2複習題:判斷對錯/ 112
16.3鞏固練習/ 112
16.4複習題/ 113
第17章循環
17.1循環結構/ 114
17.2從順序結構到循環結構/ 114
17.3複習題:判斷對錯/ 116
第18章循環—while結構
18.1 while結構/ 117
18.2複習題:判斷對錯/ 122
18.3複習題:選擇題/ 123
18.4鞏固練習/ 124
第19章循環——for結構
19.1 for結構/ 126
19.2複習題:判斷對錯/ 130
19.3複習題:選擇題/ 130
19.4鞏固練習/ 131
第20章循環——嵌套結構
20.1嵌套循環結構/ 133
20.2複習題:判斷對錯/ 135
20.3複習題:選擇題/ 135
20.4鞏固練習/ 137
第21章循環結構使用技巧和竅門
21.1引言/ 139
21.2選擇循環結構/ 139
21.3 “終極”規則/ 139
21.4跳出循環/ 142
21.5無限循環及如何避免/ 143
21.6 “由內而外”法/ 144
21.7複習題:判斷對錯/ 145
21.8複習題:選擇題/ 145
21.9鞏固練習/ 146
第22章循環結構專項練習
22.1循環結構的一般性質的
練習/ 148
22.2鞏固練習/ 157
第23章海龜繪圖
23.1引言/ 159
23.2 xy平面/ 159
23.3海龜在哪兒/ 160
23.4前後移動/ 161
23.5左轉和右轉/ 162
23.6將方向設置為指定的角度/ 165
23.7設置延遲時間/ 166
23.8改變筆的顏色和大小/ 167
23.9把海龜的筆抬起或落下/ 168
23.10將海龜直接移動到指定的位置/ 170
23.11利用決策和循環結構控制海龜/ 171
23.12鞏固練習/ 181
第24章Python中的數據結構
24.1數據結構引介/ 184
24.2什麼是列表/ 185
24.3在Python中創建列表/ 186
24.4什麼是元組/ 188
24.5在Python中創建元組/ 188
24.6如何從列表或元組中獲取值/ 189
24.7如何更改列表元素的值/ 192
24.8如何遍歷列表或元組/ 192
24.9如何將用戶輸入的值添加到
列表中/ 195
24.10什麼是字典/ 200
24.11在Python中創建字典/ 200
24.12如何從字典中獲取值/ 201
24.13如何更改字典元素的值/ 202
24.14如何遍歷字典/ 203
24.15有用的語句、函數和方法/ 204
24.16複習題:判斷對錯/ 207
24.17複習題:選擇題/ 211
24.18鞏固練習/ 214
24.19複習題/ 217
第25章數據結構專項
練習
25.1數據結構簡單
練習/ 218
25.2如何在程序中使用
多個數據結構/ 221
25.3查找列表中的最大值
和最小值/ 223
25.4在數據結構中查找
元素/ 227
25.5複習題:判斷
對錯/ 230
25.6鞏固練習/ 230
第26章子程序簡介
26.1什麼是子程序/ 233
26.2什麼是過程式編程/ 233
26.3什麼是模塊化編程/ 234
26.4複習題:判斷對錯/ 235
26.5複習題/ 235
第27章用戶自定義的子程序
27.1有返回值的子程序/ 236
27.2如何調用有返回值的函數/ 237
27.3無返回值的子程序/ 239
27.4如何調用無返回值的函數/ 240
27.5形參和實參/ 241
27.6子程序是如何執行的/ 242
27.7兩個子程序可以使用相同名字的
變量嗎/ 243
27.8一個子程序可以調用另一個
子程序嗎/ 244
27.9默認參數值和關鍵字參數/ 244
27.10變量的作用域/ 246
27.11複習題:判斷對錯/ 248
27.12鞏固練習/ 249
27.13複習題/ 250
第28章子程序專項練習
28.1一些額外的練習/ 251
28.2鞏固練習/ 256
第29章面向對象編程
29.1什麼是面向對象編程/ 258
29.2 Python中的類和對象/ 259
29.3構造方法和關鍵字self / 261
29.4將初始值傳遞給構造方法/ 263
29.5類變量和實例變量/ 264
29.6 Getter、Setter方法與屬性/ 267
29.7一個方法可以調用同一個類內的另一個方法嗎/ 273
29.8類繼承/ 274
29.9複習題:判斷對錯/ 277
29.10鞏固練習/ 278
作者介紹
作者:[希]阿里斯提德·波拉斯(Aristides S. Bouras )盧卡雅·阿伊納羅斯托(Loukia V. Ainarozidou )譯者:榮耀程晶
阿里斯提德·波拉斯(Aristides S. Bouras )擁有比雷埃夫斯技術教育學院計算機工程學位、色雷斯德謨克利特大學電子和計算機工程學位。他有多年的軟件開發經驗,目前他是一名高中教師,主要教授計算機網絡課程、Internet/Intranet編程工具和數據庫課程。
盧卡雅·阿伊納羅斯托(Loukia V. Ainarozidou )擁有比雷埃夫斯技術教育學院計算機工程學位、色雷斯德謨克利特大學電子和計算機工程學位。她現在是一名高中教師,主要教授計算機網絡、計算機編程和數字設計課程。