Python是一門非常流行的編程語(yǔ)言,不僅在諸多高新技術(shù)領(lǐng)域有著廣泛的應(yīng)用,而且非常適合作為青少年學(xué)習(xí)編程的入門語(yǔ)言。本書通過講解如何用Python編程,幫助青少年鍛煉邏輯思維,培養(yǎng)他們分析問題、解決問題的能力。
全書共10章。第1章講解Python編程的基本操作和基礎(chǔ)知識(shí)。第2~9章講解Python編程的核心知識(shí),包括變量與運(yùn)算符、數(shù)據(jù)類型、條件語(yǔ)句、循環(huán)語(yǔ)句、數(shù)據(jù)結(jié)構(gòu)、函數(shù)、模塊、面向?qū)ο缶幊痰。?0章通過一個(gè)綜合性較強(qiáng)的案例,引導(dǎo)讀者加深對(duì)Python知識(shí)點(diǎn)的理解。
本書內(nèi)容淺顯易懂,案例典型實(shí)用,非常適合中小學(xué)生閱讀,也可作為青少年編程培訓(xùn)機(jī)構(gòu)及青少年編程興趣班的教材使用。
前言
如何獲取學(xué)習(xí)資源
第1章 進(jìn)入編程的世界
1.1 孩子為什么要學(xué)習(xí)Python14
1.2 對(duì)比Scratch學(xué)Python的優(yōu)勢(shì)14
1.3 Python編程環(huán)境搭建16
1.3.1 下載Python安裝包17
1.3.2 安裝IDLE18
1.3.3 配置IDLE的運(yùn)行環(huán)境22
1.4 編寫第一個(gè)Python程序24
1.4.1 輸入和輸出24
1.4.2 代碼的新建、編寫與保存27
1.4.3 運(yùn)行、調(diào)試Python程序29
1.4.4 標(biāo)記注釋33
第2章 變量與運(yùn)算符
2.1 變量35
2.1.1 使用變量的原因35
案例01 計(jì)算圓的面積35
案例02 成績(jī)的輸入與輸出36
案例03 求1×2×3×4×5的積37
2.1.2 變量的命名與賦值37
案例04 變量的多次賦值38
2.1.3 變量的命名規(guī)則39
2.2 運(yùn)算符39
2.2.1 算術(shù)運(yùn)算符40
案例05 算術(shù)運(yùn)算符綜合應(yīng)用40
2.2.2 比較運(yùn)算符42
案例06 比較運(yùn)算符綜合應(yīng)用42
2.2.3 賦值運(yùn)算符44
案例07 賦值運(yùn)算符綜合應(yīng)用44
2.2.4 邏輯運(yùn)算符45
邏輯運(yùn)案例08 算符綜合應(yīng)用46
2.2.5 運(yùn)算符的優(yōu)先級(jí)47
2.3 實(shí)戰(zhàn)演練47
案例09 讀心術(shù)—猜數(shù)字47
第3章 數(shù)據(jù)類型
3.1 數(shù)字50
3.2 字符串50
3.2.1 合并字符串50
案例01 用運(yùn)算符“+”合并字符串51
案例02 用join函數(shù)合并字符串51
案例03 用f-string方法合并字符串52
3.2.2 比較字符串52
案例04 用“==”比較字符串是否相同53
案例05 用len函數(shù)比較字符串長(zhǎng)度53
案例06 用ASCII碼值表比較字符串大小54
3.2.3 字符串的查找56
案例07 用count函數(shù)統(tǒng)計(jì)指定字符的個(gè)數(shù)56
案例08 用find函數(shù)查找字符位置56
案例09 用rfind和rindex函數(shù)查找字符位置58
3.2.4 替換字符串中的指定字符58
案例10 用replace函數(shù)替換字符58
3.2.5 字符串切片59
案例11 字符串切片60
3.2.6 反轉(zhuǎn)字符串61
案例12 反轉(zhuǎn)字符串61
3.3 獲取數(shù)據(jù)類型61
案例13 獲取數(shù)據(jù)類型61
3.4 轉(zhuǎn)換數(shù)據(jù)類型62
案例14 轉(zhuǎn)換數(shù)據(jù)類型62
3.5 實(shí)戰(zhàn)演練63
案例15 判斷回文數(shù)63
案例16 輸出一個(gè)菱形63
第4章 條件語(yǔ)句
4.1 if語(yǔ)句66
4.1.1 if語(yǔ)句的基本語(yǔ)法66
案例01 找出最大數(shù)66
4.1.2 if語(yǔ)句的嵌套68
案例02 根據(jù)成績(jī)分班68
4.2 if-else語(yǔ)句69
4.2.1 if-else語(yǔ)句的基本語(yǔ)法69
案例03 判斷成績(jī)是否合格70
4.2.2 if-else語(yǔ)句的嵌套71
案例04 判斷成績(jī)的等級(jí)72
4.3 if和if-else語(yǔ)句的嵌套74
案例05 計(jì)算促銷的折扣優(yōu)惠74
4.4 if-elif-else語(yǔ)句76
案例06 根據(jù)成績(jī)判斷獎(jiǎng)品等級(jí)77
4.5 實(shí)戰(zhàn)演練78
案例07 根據(jù)高考成績(jī)判斷報(bào)考院校等級(jí)78
第5章 循環(huán)語(yǔ)句
5.1 for語(yǔ)句82
5.1.1 for語(yǔ)句的基本語(yǔ)法82
案例01 計(jì)算1+2+3+…+10的和82
5.1.2 for語(yǔ)句的嵌套83
案例02 輸出九九乘法表84
5.2 while語(yǔ)句85
5.2.1 while語(yǔ)句的基本語(yǔ)法85
案例03 計(jì)算1+2+3+…+10的和86
案例04 輸出斐波那契數(shù)列87
5.2.2 while語(yǔ)句的嵌套88
案例05 輸出九九乘法表89
5.3 結(jié)束循環(huán)的語(yǔ)句90
5.3.1 結(jié)束整個(gè)循環(huán):break語(yǔ)句90
案例06 驗(yàn)證登錄密碼91
5.3.2 結(jié)束本輪循環(huán):continue語(yǔ)句92
案例07 輸出1~50中所有的奇數(shù)92
5.4 實(shí)戰(zhàn)演練93
案例08 分解因數(shù)93
案例09 尋找質(zhì)數(shù)95
第6章 數(shù)據(jù)結(jié)構(gòu)
6.1 列表98
6.1.1 列表的創(chuàng)建98
6.1.2 列表元素的添加99
案例01 用append函數(shù)為列表添加元素99
案例02 用insert函數(shù)為列表添加元素99
案例03 用extend函數(shù)為列表添加元素100
6.1.3 列表元素的替換101
案例04 替換列表指定位置的元素101
案例05 替換列表指定索引范圍的元素101
6.1.4 列表元素的刪除102
案例06 用remove函數(shù)刪除列表元素102
案例07 用pop函數(shù)刪除列表元素102
案例08 用del語(yǔ)句刪除列表元素103
6.1.5 列表元素的計(jì)數(shù)103
案例09 用count函數(shù)統(tǒng)計(jì)指定列表元素個(gè)數(shù)104
6.1.6 列表元素的排序104
案例10 用sort函數(shù)對(duì)列表元素進(jìn)行升序排序104
案例11 用sort函數(shù)對(duì)列表元素進(jìn)行降序排序105
6.1.7 列表元素的反轉(zhuǎn)105
案例12 用reverse函數(shù)對(duì)列表元素進(jìn)行反轉(zhuǎn)105
6.2 元組106
6.2.1 元組的創(chuàng)建106
案例13 創(chuàng)建元組106
6.2.2 元組的訪問107
案例14 訪問元組元素107
6.2.3 元組的連接108
案例15 連接兩個(gè)元組108
6.2.4 元組的復(fù)制109
案例16 復(fù)制元組109
6.2.5 元組的刪除109
案例17 刪除元組109
6.3 字典110
6.3.1 字典的創(chuàng)建110
案例18 創(chuàng)建字典110
6.3.2 字典的訪問111
案例19 通過鍵訪問字典的值111
6.3.3 字典的修改112
案例20 修改字典相關(guān)鍵的值112
案例21 在字典中添加鍵值對(duì)112
案例22 刪除字典鍵值對(duì)和字典113
6.4 實(shí)例演練114
案例23 輸出1~20的平方值列表114
案例24 建立提醒事項(xiàng)列表115
第7章 函數(shù)
7.1 內(nèi)置函數(shù)118
7.1.1 range函數(shù)118
案例01 用range函數(shù)產(chǎn)生0~9的序列119
案例02 用range函數(shù)產(chǎn)生10以內(nèi)的奇數(shù)序列119
7.1.2 sorted函數(shù)120
案例03 用sorted函數(shù)對(duì)列表元素進(jìn)行排序120
7.1.3 pow函數(shù)120
案例04 用pow函數(shù)完成計(jì)算121
7.1.4 enumerate函數(shù)121
案例05 用enumerate函數(shù)遍歷列表內(nèi)容121
7.1.5 slice函數(shù)122
案例06 用slice函數(shù)進(jìn)行列表切片122
7.2 自定義函數(shù)123
7.2.1 函數(shù)的定義123
7.2.2 函數(shù)的參數(shù)124
案例07 定義函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)相加124
案例08 定義使用默認(rèn)參數(shù)的函數(shù)125
案例09 定義使用可變參數(shù)的函數(shù)125
案例10 定義使用關(guān)鍵字參數(shù)的函數(shù)126
7.2.3 函數(shù)的返回值126
案例11 return語(yǔ)句的應(yīng)用1127
案例12 return語(yǔ)句的應(yīng)用2127
案例13 return語(yǔ)句的應(yīng)用3127
案例14 return語(yǔ)句的應(yīng)用4128
7.2.4 函數(shù)的調(diào)用128
7.3 實(shí)例演練129
案例15 輸出指定項(xiàng)數(shù)的斐波那契數(shù)列129
案例16 自定義函數(shù)解決“猴子吃桃”問題130
第8章 模塊
8.1 初識(shí)模塊133
8.2 模塊的準(zhǔn)備133
8.2.1 模塊的安裝133
案例01 通過官方服務(wù)器安裝NumPy模塊134
案例02 通過鏡像網(wǎng)站安裝NumPy模塊136
8.2.2 模塊的導(dǎo)入137
8.3 turtle模塊138
8.3.1 畫布138
8.3.2 畫筆139
8.3.3 示例程序141
案例03 用turtle模塊繪制太陽(yáng)花141
8.4 math模塊143
8.4.1 pow函數(shù)和sqrt函數(shù)143
案例04 求一元二次方程的根143
8.4.2 三角函數(shù)和radians函數(shù)144
案例05 計(jì)算sin25°+cos35°+tan50°的值144
8.4.3 gcd函數(shù)144
案例06 找出3636和9999的最大公約數(shù)144
8.5 實(shí)戰(zhàn)演練145
案例07 繪制萬(wàn)花筒145
案例08 繪制一棵樹146
第9章 面向?qū)ο缶幊?br>9.1 面向?qū)ο蟮木幊趟枷?49
9.2 類與實(shí)例的定義與應(yīng)用基礎(chǔ)150
案例01 類與實(shí)例的基礎(chǔ)應(yīng)用1151
案例02 類與實(shí)例的基礎(chǔ)應(yīng)用2152
9.3 類的屬性153
9.3.1 實(shí)例屬性154
案例03 實(shí)例屬性的定義與應(yīng)用154
9.3.2 類屬性155
案例04 類屬性的定義與應(yīng)用156
9.4 類的方法157
9.4.1 實(shí)例方法157
案例05 實(shí)例方法的定義與應(yīng)用157
9.4.2 類方法158
案例06 類方法的定義與應(yīng)用159
9.4.3 靜態(tài)方法159
案例07 靜態(tài)方法的定義與應(yīng)用160
9.5 類的繼承160
案例08 類的繼承—從圓類到圓柱類161
9.6 實(shí)戰(zhàn)演練162
案例09 類的相互調(diào)用—方程求解162
案例10 類的繼承與交互—貓狗大戰(zhàn)164
第10章 游戲世界
10.1 游戲設(shè)定168
10.2 編程要點(diǎn)168
10.2.1 小球168
10.2.2 球拍169
10.2.3 游戲流程控制169
10.3 代碼解析169
10.3.1 導(dǎo)入模塊169
10.3.2 定義小球類170
10.3.3 定義球拍類173
10.3.4 游戲開始174
10.3.5 游戲中途175
10.3.6 游戲結(jié)束175
10.4 游戲效果176