注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)趣味微項(xiàng)目,輕松學(xué)Python

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

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

定 價(jià):¥98.00

作 者: [美] 肯·尤內(nèi)-克拉克(Ken Youens-Clark) 著,楊欣 韓軼男 于妙妙 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302617341 出版時(shí)間: 2022-11-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄


第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.4  lookup字典   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章  撥號(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.3  verse()函數(shù)   163
11.3.4  遍歷歌曲小節(jié)   164
11.3.5  1500個(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.7  l33t-ify   300
20.1.8  整體運(yùn)行   301
20.2  解決方案   302
20.3  討論   304
20.3.1  清潔文本   304
20.3.2  ransom()函數(shù)   305
20.3.3  l33t()函數(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
 
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)