書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

趣味微項(xiàng)目,輕松學(xué)Python

出版社:清華大學(xué)出版社出版時(shí)間:2022-11-01
開本: 其他 頁數(shù): 384
中 圖 價(jià):¥71.5(7.3折) 定價(jià)  ¥98.0 登錄后可看到會(huì)員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

趣味微項(xiàng)目,輕松學(xué)Python 版權(quán)信息

趣味微項(xiàng)目,輕松學(xué)Python 本書特色

誰說學(xué)習(xí)編程一定很枯燥?本書用21個(gè)謎題和游戲的方式講解Python的基礎(chǔ)知識(shí),使讀者做每個(gè)練習(xí)時(shí)一邊獲得娛樂,一邊學(xué)會(huì)文本處理、基本算法,以及列表和字典的用法。本書是Python菜鳥獲得自信和經(jīng)驗(yàn)的理想教科書。 項(xiàng)目雖小,收獲卻大。本書每章幫助讀者完成一個(gè)新的Python程序挑戰(zhàn),包括密碼生成器、押韻器、擾碼器等。完成這些有趣的練習(xí)后,讀者將從一個(gè)Python初學(xué)者成長為一個(gè)自信的程序員,并在此過程中度過一段美好的時(shí)光。

趣味微項(xiàng)目,輕松學(xué)Python 內(nèi)容簡介

主要內(nèi)容 ● 編寫Python命令行程序 ● 處理Python數(shù)據(jù)結(jié)構(gòu) ● 使用和控制隨機(jī)性 ● 為程序和函數(shù)編寫并運(yùn)行測試 ● 下載每個(gè)項(xiàng)目的全套測試集

趣味微項(xiàng)目,輕松學(xué)Python 目錄

第1章如何編寫和測試Python程序 1

1.1創(chuàng)建你的**個(gè)程序 1

1.2注釋行 2

1.3測試程序 2

1.4添加#!(釋伴)行 4

1.5可執(zhí)行的程序 5

1.6理解$PATH 6

1.7添加參數(shù)和幫助 7

1.8可選實(shí)參 9

1.9運(yùn)行測試 11

1.10添加main()函數(shù) 11

1.11添加get_args()函數(shù) 12

1.12測試hello.py 14

1.13用new.py開始新程序 15

1.14使用template.py替代new.py 17

1.15小結(jié) 18

第2章瞭望哨:使用字符串 19

2.1啟程 20

2.1.1如何使用測試 20

2.1.2用new.py創(chuàng)建程序 21

2.1.3編寫、測試、重復(fù) 21

2.1.4定義實(shí)參 22

2.1.5串連字符串 24

2.1.6變量類型 25

2.1.7獲取字符串的正確部分 25

2.1.8在REPL中找到幫助 26

2.1.9字符串方法 27

2.1.10字符串比較 28

2.1.11條件分支 29

2.1.12字符串格式化 30

2.1.13編寫程序 31

2.2解決方案 31

2.3討論 32

2.3.1用get_args()定義實(shí)參 32

2.3.2關(guān)于main() 32

2.3.3給單詞的**個(gè)字符分類 33

2.3.4打印結(jié)果 34

2.3.5運(yùn)行測試集 34

2.4更進(jìn)一步 34

2.5小結(jié) 35

第3章去野餐:使用列表 37

3.1開始編寫程序 38

3.2編寫picnic.py程序 39

3.3介紹列表 41

3.3.1向列表添加一個(gè)元素 41

3.3.2向列表添加多個(gè)元素 42

3.3.3對(duì)列表進(jìn)行索引 44

3.3.4對(duì)列表進(jìn)行切片化 44

3.3.5在列表中查找元素 45

3.3.6從列表中刪除元素 46

3.3.7對(duì)列表進(jìn)行排序和反轉(zhuǎn) 47

3.3.8變更列表 49

3.3.9連接列表 50

3.4用if/elif/else進(jìn)行條件分支 50

3.5解決方案 51

3.6討論 52

3.6.1定義實(shí)參 52

3.6.2對(duì)條目進(jìn)行賦值和排序 53

3.6.3對(duì)條目進(jìn)行格式化 53

3.6.4打印條目 54

3.7更進(jìn)一步 54

3.8小結(jié) 54

第4章跳過5:使用字典 57

4.1字典 58

4.1.1創(chuàng)建字典 58

4.1.2訪問字典值 60

4.1.3其他字典方法 61

4.2編寫jump.py 62

4.3解決方案 64

4.4討論 64

4.4.1定義參數(shù) 65

4.4.2使用dict進(jìn)行編碼 65

4.4.3處理序列中條目的多種方法 65

4.4.4不使用str.replace() 70

4.5更進(jìn)一步 70

4.6小結(jié) 70

第5章吼叫信:使用文件和STDOUT 73

5.1讀取文件 74

5.2寫入文件 77

5.3編寫howler.py 79

5.4解決方案 80

5.5討論 81

5.5.1定義實(shí)參 82

5.5.2從文件或命令行讀取輸入 82

5.5.3選擇輸出文件句柄 83

5.5.4打印輸出 84

5.5.5低內(nèi)存版本 84

5.6更進(jìn)一步 86

5.7小結(jié) 86

第6章數(shù)單詞:讀取文件和STDIN,迭代列表,格式化字符串 87

6.1編寫wc.py 88

6.1.1定義文件輸入 89

6.1.2迭代列表 90

6.1.3你在數(shù)什么 90

6.1.4格式化結(jié)果 92

6.2解決方案 93

6.3討論 94

6.3.1定義實(shí)參 94

6.3.2使用for循環(huán)讀入一個(gè)文件 94

6.4更進(jìn)一步 96

6.5小結(jié) 96

第7章Gashlycrumb:在字典中查找條目 97

7.1編寫 gashlycrumb.py 98

7.2解決方案 101

7.3討論 102

7.3.1處理實(shí)參 102

7.3.2讀取輸入文件 102

7.3.3使用字典推導(dǎo)式 103

7.3.4lookup字典 104

7.4更進(jìn)一步 104

7.5小結(jié) 105

第8章蘋果和香蕉:找到并替換 107

8.1更改字符串 109

8.1.1使用str.replace()方法 109

8.1.2使用str.translate() 110

8.1.3變更字符串的其他方法 110

8.2解決方案 111

8.3討論 112

8.3.1定義參數(shù) 112

8.3.2替換元音的8種方法 113

8.4用測試進(jìn)行重構(gòu) 125

8.5更進(jìn)一步 126

8.6小結(jié) 126

第9章?lián)芴?hào)詛咒:用單詞列表生成隨機(jī)嘲諷話 127

9.1編寫abuse.py 128

9.1.1驗(yàn)證實(shí)參 129

9.1.2導(dǎo)入隨機(jī)模塊并生成種子 131

9.1.3定義形容詞和名詞 131

9.1.4采集隨機(jī)樣本并選擇 132

9.1.5對(duì)輸出進(jìn)行格式化 133

9.2解決方案 134

9.3討論 135

9.3.1定義實(shí)參 135

9.3.2使用parser.error() 136

9.3.3程序退出值和STDERR 136

9.3.4用random.seed()控制隨機(jī)性 137

9.3.5用range()進(jìn)行迭代并使用拋棄變量 137

9.3.6構(gòu)建嘲諷語句 138

9.4更進(jìn)一步 139

9.5小結(jié) 139

第10章電話:隨機(jī)變更字符串 141

10.1編寫telephone.py 142

10.1.1計(jì)算變更的數(shù)量 144

10.1.2變更空間 144

10.1.3選擇要變更的字符 145

10.1.4變更字符串 147

10.1.5編寫程序 148

10.2解決方案 148

10.3討論 149

10.3.1變更字符串 150

10.3.2使用list代替str 151

10.4更進(jìn)一步 152

10.5小結(jié) 152

第11章瓶裝啤酒之歌:

編寫和測試函數(shù) 153

11.1編寫bottles.py 154

11.1.1反向計(jì)數(shù) 154

11.1.2編寫函數(shù) 155

11.1.3為verse()編寫測試 156

11.1.4使用verse()函數(shù) 160

11.2解決方案 160

11.3討論 162

11.3.1反向計(jì)數(shù) 162

11.3.2測試驅(qū)動(dòng)開發(fā) 162

11.3.3verse()函數(shù) 163

11.3.4遍歷歌曲小節(jié) 164

11.3.51500個(gè)其他解決方案 166

11.4更進(jìn)一步 166

11.5小結(jié) 167

第12章贖金條:隨機(jī)大寫文本 169

12.1編寫ransom.py 170

12.1.1修改文本 171

12.1.2擲硬幣 171

12.1.3創(chuàng)建新字符串 172

12.2解決方案 172

12.3討論 174

12.3.1遍歷序列中的元素 174

12.3.2編寫函數(shù)來選擇字母 175

12.3.3編寫list.append()的另一種方法 175

12.3.4使用str代替list 176

12.3.5使用列表解析式 176

12.3.6使用map()函數(shù) 176

12.4方法比較 177

12.5更進(jìn)一步 178

12.6小結(jié) 178

第13章圣誕節(jié)的十二天:算法設(shè)計(jì) 179

13.1編寫twelve_days.py 180

13.1.1計(jì)數(shù) 181

13.1.2創(chuàng)建序數(shù)值 182

13.1.3制作小節(jié) 183

13.1.4使用verse()函數(shù) 185

13.1.5打印 186

13.1.6開始編程 186

13.2解決方案 186

13.3討論 188

13.3.1制作一個(gè)小節(jié) 188

13.3.2生成小節(jié) 191

13.3.3打印小節(jié) 192

13.4更進(jìn)一步 193

13.5小結(jié) 193

第14章押韻機(jī):使用正則表達(dá)式創(chuàng)建押韻單詞 195

14.1編寫rhymer.py 197

14.1.1分解單詞 198

14.1.2使用正則表達(dá)式 198

14.1.3使用捕獲組 201

14.1.4真實(shí)性 205

14.1.5創(chuàng)建輸出 206

14.2解決方案 206

14.3討論 208

14.3.1取單詞詞干 208

14.3.2對(duì)正則表達(dá)式進(jìn)行格式化和注釋 210

14.3.3在程序之外使用 stemmer()函數(shù) 211

14.3.4創(chuàng)建押韻字符串 212

14.3.5不帶正則表達(dá)式的stemmer() 213

14.4更進(jìn)一步 214

14.5小結(jié) 214

第15章肯德基修士:關(guān)于正則表達(dá)式的更多故事 215

15.1編寫friar.py 217

15.1.1使用正則表達(dá)式拆解文本 218

15.1.2簡寫類 218

15.1.3否定簡寫類 220

15.1.4使用帶有已捕獲的正則表達(dá)式的re.split() 221

15.1.5編寫fry()函數(shù) 223

15.1.6使用fry()函數(shù) 227

15.2解決方案 228

15.3討論 229

15.3.1手動(dòng)編寫fry()函數(shù) 230

15.3.2編寫帶有正則表達(dá)式的fry()函數(shù) 231

15.4更進(jìn)一步 232

15.5小結(jié) 232

第16章擾碼器:隨機(jī)重排單詞中部 233

16.1編寫scrambler.py 234

16.1.1把文本分解成行和單詞 235

16.1.2捕獲組、非捕獲組和可選組 236

16.1.3編譯正則表達(dá)式 236

16.1.4對(duì)一個(gè)單詞進(jìn)行擾碼 237

16.1.5對(duì)所有單詞進(jìn)行擾碼 239

16.2解決方案 239

16.3討論 241

16.3.1處理文本 241

16.3.2對(duì)單詞進(jìn)行擾碼 243

16.4更進(jìn)一步 243

16.5小結(jié) 244

第17章瘋狂填詞:使用正則表達(dá)式 245

17.1編寫mad.py 246

17.1.1使用正則表達(dá)式找到尖括號(hào) 247

17.1.2停止并打印錯(cuò)誤 250

17.1.3獲取值 251

17.1.4替換文本 252

17.2解決方案 252

17.3討論 253

17.3.1用正則表達(dá)式進(jìn)行替換 253

17.3.2不用正則表達(dá)式找到占位符 254

17.4更進(jìn)一步 256

17.5小結(jié) 256

第18章希伯來數(shù):使用ASCII值對(duì)文本進(jìn)行數(shù)字編碼 257

18.1編寫gematria.py 258

18.1.1清潔單詞 259

18.1.2序數(shù)字符值和范圍 260

18.1.3求和與歸約 262

18.1.4使用functools.reduce 263

18.1.5對(duì)單詞進(jìn)行編碼 264

18.1.6拆解文本 265

18.2解決方案 265

18.3討論 266

18.3.1編寫word2num() 267

18.3.2排序 268

18.3.3測試 270

18.4更進(jìn)一步 270

18.5小結(jié) 270

第19章每日健身:解析CSV文件,創(chuàng)建文本表輸出 271

19.1編寫wod.py 272

19.1.1讀取帶分隔符的文本文件 272

19.1.2手動(dòng)讀取CSV文件 274

19.1.3用csv模塊進(jìn)行解析 277

19.1.4創(chuàng)建讀取CSV文件的函數(shù) 278

19.1.5選擇健身項(xiàng)目 279

19.1.6格式化輸出 281

19.1.7處理無效數(shù)據(jù) 281

19.1.8編程時(shí)間 282

19.2解決方案 282

19.3討論 284

19.3.1讀取CSV文件 284

19.3.2潛在的運(yùn)行錯(cuò)誤 285

19.3.3使用pandas.read_csv()解析文件 286

19.3.4對(duì)表進(jìn)行格式化 287

19.4更進(jìn)一步 289

19.5小結(jié) 289

第20章密碼強(qiáng)度:生成安全且容易記憶的密碼 291

20.1編寫password.py 293

20.1.1創(chuàng)建唯一的單詞列表 295

20.1.2清潔文本 296

20.1.3使用集合 298

20.1.4對(duì)單詞進(jìn)行過濾 298

20.1.5將單詞首字母大寫 300

20.1.6采樣和制作密碼 300

20.1.7l33t-ify 300

20.1.8整體運(yùn)行 301

20.2解決方案 302

20.3討論 304

20.3.1清潔文本 304

20.3.2ransom()函數(shù) 305

20.3.3l33t()函數(shù) 305

20.3.4處理文件 306

20.3.5采樣和創(chuàng)建密碼 307

20.4更進(jìn)一步 308

20.5小結(jié) 308

第21章井字棋:探索狀態(tài) 309

21.1編寫tictactoe.py 310

21.1.1驗(yàn)證用戶輸入 312

21.1.2更改棋盤 313

21.1.3打印棋盤 313

21.1.4確定贏家 314

21.2解決方案 315

21.2.1驗(yàn)證實(shí)參和變更棋盤 317

21.2.2對(duì)棋盤進(jìn)行格式化 320

21.2.3找到贏家 321

21.3更進(jìn)一步 322

21.4小結(jié) 322

第22章井字棋歸來:帶有類型提示的交互式版本 323

22.1編寫itictactoe.py 323

22.1.1元組對(duì)話 325

22.1.2具名元組 326

22.1.3添加類型提示 328

22.1.4用Mypy進(jìn)行類型驗(yàn)證 329

22.1.5更新不可變的結(jié)構(gòu) 330

22.1.6向函數(shù)定義添加類型提示 331

22.2解決方案 332

22.2.1使用TypedDict的版本 334

22.2.2思考狀態(tài) 336

22.3更進(jìn)一步 336

22.4小結(jié) 336

后記 337

附錄使用argparse 339




展開全部

趣味微項(xiàng)目,輕松學(xué)Python 作者簡介

Ken Youens-Clark是亞利桑那大學(xué)的高級(jí)科學(xué)程序員。他擁有生物系統(tǒng)工程碩士學(xué)位,從事編程工作二十多年。

商品評(píng)論(0條)
暫無評(píng)論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服