第1 章 編程與我們的生活 1
1.1 為什麼學編程 1
1.1.1 通過編程瞭解以科技為核心的世界 1
1.1.2 編程很有趣 1
1.1.3 編程能鍛煉你的思維能力 2
1.2 為什麼學Python 2
1.3 如何學好編程 2
1.4 計算機的長處和不足 2
1.5 下載並安裝Python 3
1.5.1 Windows 係統 4
1.5.2 Mac 係統 5
1.6 在Shell 裏編寫代碼 6
1.7 在編輯器裏編寫代碼 8
1.8 五顔六色的代碼 9
1.9 幫助我們的提示信息 9
第2 章 Python 編程初體驗——發號施令 11
2.1 什麼是編程 11
2.2 給小海龜精確地發號施令 12
2.2.1 指揮海龜畫正方形 12
2.2.2 指揮海龜畫八邊形 14
2.3 省力氣的循環 16
2.4 鏇轉的正方形 17
2.5 創造酷炫的圖案 19
2.6 給點顔色看看 21
2.7 總結及課後練習 22
第3 章 跟機器交流 23
3.1 和計算機對話 23
3.2 輸入和輸齣 28
3.3 跟人對話——注釋 28
3.4 案例:笑話製造機 29
3.5 總結及課後練習 30
第4 章 數據的世界 32
4.1 變量 32
4.1.1 為什麼要用變量 33
4.1.2 變量名 33
4.1.3 變量有多可“變” 34
4.2 算法通過處理數據解決問題 36
4.3 Python 數據類型及轉換函數 36
4.3.1 常見數據類型 36
4.3.2 數據類型轉換函數 37
4.3.3 數據分類的好處 38
4.4 數字 38
4.4.1 探索運算符 38
4.4.2 案例1:輸齣三位數中的每位數字 41
4.5 字符串 42
4.5.1 字符串常見處理 43
4.5.2 案例2:國傢名簡寫 45
4.5.3 案例3:城市名加密 47
4.6 布爾值 48
4.6.1 布爾值及底層的意義 48
4.6.2 比較數據 49
4.6.3 布爾值與邏輯運算符的故事——小熊選照片 50
4.6.4 邏輯運算符 51
4.6.5 案例4:卡片通關挑戰 52
4.7 總結及課後練習 57
第5 章 好好安排數據 58
5.1 安排數據的方式 58
5.2 列錶 59
5.2.1 獲取列錶值 60
5.2.2 修改列錶 62
5.2.3 二維列錶 64
5.2.4 列錶挑戰練習 66
5.3 元組 67
5.4 字典 68
5.4.1 什麼是字典 68
5.4.2 使用字典 69
5.4.3 案例:查詢課程錶 70
5.4.4 字典挑戰練習 72
5.5 總結及課後練習 72
第6 章 條件判斷——學會做決定 74
6.1 條件判斷 74
6.1.1 生活中的判斷 74
6.1.2 程序中的判斷 74
6.2 if…else…語句 75
6.2.1 案例1:你的成績閤格嗎 76
6.2.2 代碼的位置 77
6.2.3 案例2:奇偶數判斷 78
6.3 if…語句 79
案例3:今天你戴口罩瞭嗎 79
6.4 if…elif…else…語句 80
案例4:判斷正數、負數和零 81
6.5 條件判斷總結 83
6.5.1 紅綠燈導航係統 84
6.5.2 案例5:閏年計算器 84
6.6 條件判斷應用 86
6.6.1 案例6:趣味擲骰子 86
6.6.2 案例7:心理測驗 87
6.6.3 案例8:聊天機器人 91
6.7 總結及課後練習 97
第7 章 循環——讓計算機重復工作 100
7.1 流程控製 100
7.2 什麼是循環 101
7.3 for 循環 101
7.3.1 重復打印任務 101
7.3.2 案例1:敵軍還有5 秒到達戰場 102
7.3.3 for 循環語法 105
7.3.4 案例2:乘法口訣錶 105
7.3.5 range()函數 107
7.3.6 for 循環練習 109
7.4 案例3:奶昔機器人 112
7.5 while 循環 113
7.5.1 while 循環的意義 113
7.5.2 比較while 和if 114
7.5.3 while 循環語法 115
7.5.4 案例4:加血道具的迴血 115
7.5.5 無限循環和break 語句 117
7.6 案例5:掃地機器人的故事 119
7.7 案例6:自動駕駛程序的故事 121
7.8 案例7:猜數字遊戲 123
7.9 總結及課後練習 127
第8 章 抽象函數——分而治之的學問 128
8.1 分而治之和抽象 128
8.2 函數 131
8.2.1 定義並調用函數 132
8.2.2 函數中代碼的注意事項 132
8.2.3 帶參數的函數 133
8.2.4 案例1:簡單的函數練習 136
8.2.5 做事情的函數VS 返迴值的函數 137
8.3 案例2:數學試捲機器人 140
8.3.1 策劃數學試捲機器人 140
8.3.2 隨機模塊的用法 141
8.3.3 題目的函數 141
8.3.4 策劃程序邏輯 144
8.3.5 完整的程序代碼 145
8.4 遞歸函數的故事 146
8.4.1 階乘與遞歸 146
8.4.2 無限遞歸 147
8.4.3 案例3:科赫麯綫 148
8.4.4 案例4:科赫雪花 149
8.5 變量的作用域 150
8.6 總結及課後練習 151
第9 章 Python 庫——讓強大的Python 庫幫忙 153
9.1 Python 模塊概述 153
9.2 安裝、卸載和使用Python 模塊 154
9.2.1 安裝與卸載Python 模塊 154
9.2.2 Python 文檔 157
9.3 random 模塊 159
9.3.1 隨機模塊常見函數 159
9.3.2 隨機模塊函數練習 160
9.3.3 案例1:幸運大抽奬 161
9.4 時間模塊和日期時間模塊 163
9.4.1 時間模塊 163
9.4.2 日期時間模塊 166
9.5 webbrowser 模塊 167
9.5.1 webbrowser 簡介 167
9.5.2 案例2:天氣機器人 167
9.6 操作文件 169
9.6.1 操作係統的os 模塊 169
9.6.2 案例3:音樂倒計時 171
9.6.3 案例4:編寫文檔的docx 模塊 172
9.7 總結及課後練習 174
第10 章 Tkinter 界麵——有按鈕的軟件 175
10.1 GUI 與CUI 175
10.2 介紹Tkinter 框架 176
10.3 給窗體添加控件 177
10.4 讓控件變漂亮 179
10.4.1 為控件設置屬性的方法 179
10.4.2 控件的常用屬性 180
10.4.3 使用config 配置屬性 182
10.5 讓窗體裏的東西動起來 183
10.5.1 Tkinter 裏的事件 184
10.5.2 響應事件中的屬性 185
10.6 案例1:繪圖軟件 187
10.6.1 製作繪圖軟件1 188
10.6.2 製作繪圖軟件2 192
10.6.3 製作繪圖軟件3 194
10.7 案例2:編寫桌麵備忘錄 197
10.8 總結及課後練習 198
第11 章 密碼的奧妙——眾目睽睽之下的悄悄話 199
11.1 打勝仗要靠算法 199
11.2 案例1:倒著說話——調轉密碼 200
11.2.1 調轉密碼介紹 200
11.2.2 編寫調轉密碼 200
11.2.3 編寫調轉密碼窗口 201
11.3 案例2:繞小彎說話——凱撒密碼 202
11.3.1 凱撒密碼介紹 202
11.3.2 編寫凱撒密碼 203
11.3.3 編寫凱撒密碼窗口 206
11.3.4 破解凱撒密碼 207
11.4 案例3:混亂著說話——打亂替換密碼 207
11.4.1 打亂替換密碼介紹 207
11.4.2 編寫打亂替換密碼 208
11.5 案例4:繞大彎說話——維吉尼亞密碼 210
11.5.1 維吉尼亞密碼介紹 210
11.5.2 編寫維吉尼亞密碼 211
11.6 案例5:靠計數破譯密碼 212
11.7 總結及課後練習 215
第12 章 二進製數的世界 217
12.1 二進製數是什麼 217
12.2 二進製數轉十進製數 218
12.3 十進製數轉二進製數 220
12.4 圖片都是數字 221
12.5 字母都是數字 222
12.6 總結及課後練習 224
第13 章 潛水鍾與蝴蝶——用計算性思維解決問題 225
13.1 潛水鍾與蝴蝶的故事 225
13.1.1 第一次嘗試——眨眼次數代錶的字母 226
13.1.2 第二次嘗試——二分搜索 226
13.1.3 持續地嘗試 228
13.2 編寫程序為身邊的人解決問題 229
· · · · · · (
收起)