-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathindex.html
402 lines (375 loc) · 24.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="generator" content="hevea 2.09">
<title>Think Python
</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="thinkpython2.css">
</head>
<body>
<!--HEVEA command line is: /usr/bin/hevea -fix -O -e latexonly htmlonly thinkpython2 -->
<!--HACHA command line is: /usr/bin/hacha thinkpython2.html -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><strong>Think Python</strong> - How to Think like a Computer Scientist (2e) <em>by Allen B. Downey</em></a>
</div>
<div>
<ul class="nav navbar-nav navbar-right">
<li><a href="http://greenteapress.com/thinkpython2/html/index.html"><span class="glyphicon glyphicon glyphicon-book" aria-hidden="true"></span></a></li>
<li><a href="index.html"><span class="glyphicon glyphicon glyphicon-menu-left" aria-hidden="true"></span></a></li>
<li><a href="index.html"><span class="glyphicon glyphicon glyphicon-home" aria-hidden="true"></span></a></li>
<li><a href="thinkpython2001.html"><span class="glyphicon glyphicon glyphicon-menu-right" aria-hidden="true"></span></a></li>
<li><a href="http://amzn.to/1VUYQUU"><span class="glyphicon glyphicon glyphicon-shopping-cart" aria-hidden="true"></span></a></li>
</ul>
<div>
</div><!-- /.container-fluid -->
</nav>
<table>
<tr>
<td valign="top" width="100" bgcolor="#b6459a" id="col-left">
</td>
<td valign="top" id="content">
<p>
<p><span class="c008">Think Python: How to Think Like a Computer Scientist</span></p><p><span style="font-size:large">Allen B. Downey</span></p><p>2nd Edition, Version 2.2.18</p>
<ul>
<li><a href="thinkpython2001.html">Preface</a>
<ul>
<li><a href="thinkpython2001.html#sec2">The strange history of this book</a>
</li><li><a href="thinkpython2001.html#sec3">Acknowledgments</a>
</li><li><a href="thinkpython2001.html#sec4">Contributor List</a>
</li></ul>
</li><li><a href="thinkpython2002.html">The way of the program</a>
<ul>
<li><a href="thinkpython2002.html#sec6">What is a program?</a>
</li><li><a href="thinkpython2002.html#sec7">Running Python</a>
</li><li><a href="thinkpython2002.html#sec8">The first program</a>
</li><li><a href="thinkpython2002.html#sec9">Arithmetic operators</a>
</li><li><a href="thinkpython2002.html#sec10">Values and types</a>
</li><li><a href="thinkpython2002.html#sec11">Formal and natural languages</a>
</li><li><a href="thinkpython2002.html#sec12">Debugging</a>
</li><li><a href="thinkpython2002.html#sec13">Glossary</a>
</li><li><a href="thinkpython2002.html#sec14">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2003.html">Variables, expressions and statements</a>
<ul>
<li><a href="thinkpython2003.html#sec16">Assignment statements</a>
</li><li><a href="thinkpython2003.html#sec17">Variable names</a>
</li><li><a href="thinkpython2003.html#sec18">Expressions and statements</a>
</li><li><a href="thinkpython2003.html#sec19">Script mode</a>
</li><li><a href="thinkpython2003.html#sec20">Order of operations</a>
</li><li><a href="thinkpython2003.html#sec21">String operations</a>
</li><li><a href="thinkpython2003.html#sec22">Comments</a>
</li><li><a href="thinkpython2003.html#sec23">Debugging</a>
</li><li><a href="thinkpython2003.html#sec24">Glossary</a>
</li><li><a href="thinkpython2003.html#sec25">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2004.html">Functions</a>
<ul>
<li><a href="thinkpython2004.html#sec27">Function calls</a>
</li><li><a href="thinkpython2004.html#sec28">Math functions</a>
</li><li><a href="thinkpython2004.html#sec29">Composition</a>
</li><li><a href="thinkpython2004.html#sec30">Adding new functions</a>
</li><li><a href="thinkpython2004.html#sec31">Definitions and uses</a>
</li><li><a href="thinkpython2004.html#sec32">Flow of execution</a>
</li><li><a href="thinkpython2004.html#sec33">Parameters and arguments</a>
</li><li><a href="thinkpython2004.html#sec34">Variables and parameters are local</a>
</li><li><a href="thinkpython2004.html#sec35">Stack diagrams</a>
</li><li><a href="thinkpython2004.html#sec36">Fruitful functions and void functions</a>
</li><li><a href="thinkpython2004.html#sec37">Why functions?</a>
</li><li><a href="thinkpython2004.html#sec38">Debugging</a>
</li><li><a href="thinkpython2004.html#sec39">Glossary</a>
</li><li><a href="thinkpython2004.html#sec40">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2005.html">Case study: interface design</a>
<ul>
<li><a href="thinkpython2005.html#sec42">The turtle module</a>
</li><li><a href="thinkpython2005.html#sec43">Simple repetition</a>
</li><li><a href="thinkpython2005.html#sec44">Exercises</a>
</li><li><a href="thinkpython2005.html#sec45">Encapsulation</a>
</li><li><a href="thinkpython2005.html#sec46">Generalization</a>
</li><li><a href="thinkpython2005.html#sec47">Interface design</a>
</li><li><a href="thinkpython2005.html#sec48">Refactoring</a>
</li><li><a href="thinkpython2005.html#sec49">A development plan</a>
</li><li><a href="thinkpython2005.html#sec50">docstring</a>
</li><li><a href="thinkpython2005.html#sec51">Debugging</a>
</li><li><a href="thinkpython2005.html#sec52">Glossary</a>
</li><li><a href="thinkpython2005.html#sec53">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2006.html">Conditionals and recursion</a>
<ul>
<li><a href="thinkpython2006.html#sec55">Floor division and modulus</a>
</li><li><a href="thinkpython2006.html#sec56">Boolean expressions</a>
</li><li><a href="thinkpython2006.html#sec57">Logical operators</a>
</li><li><a href="thinkpython2006.html#sec58">Conditional execution</a>
</li><li><a href="thinkpython2006.html#sec59">Alternative execution</a>
</li><li><a href="thinkpython2006.html#sec60">Chained conditionals</a>
</li><li><a href="thinkpython2006.html#sec61">Nested conditionals</a>
</li><li><a href="thinkpython2006.html#sec62">Recursion</a>
</li><li><a href="thinkpython2006.html#sec63">Stack diagrams for recursive functions</a>
</li><li><a href="thinkpython2006.html#sec64">Infinite recursion</a>
</li><li><a href="thinkpython2006.html#sec65">Keyboard input</a>
</li><li><a href="thinkpython2006.html#sec66">Debugging</a>
</li><li><a href="thinkpython2006.html#sec67">Glossary</a>
</li><li><a href="thinkpython2006.html#sec68">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2007.html">Fruitful functions</a>
<ul>
<li><a href="thinkpython2007.html#sec70">Return values</a>
</li><li><a href="thinkpython2007.html#sec71">Incremental development</a>
</li><li><a href="thinkpython2007.html#sec72">Composition</a>
</li><li><a href="thinkpython2007.html#sec73">Boolean functions</a>
</li><li><a href="thinkpython2007.html#sec74">More recursion</a>
</li><li><a href="thinkpython2007.html#sec75">Leap of faith</a>
</li><li><a href="thinkpython2007.html#sec76">One more example</a>
</li><li><a href="thinkpython2007.html#sec77">Checking types</a>
</li><li><a href="thinkpython2007.html#sec78">Debugging</a>
</li><li><a href="thinkpython2007.html#sec79">Glossary</a>
</li><li><a href="thinkpython2007.html#sec80">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2008.html">Iteration</a>
<ul>
<li><a href="thinkpython2008.html#sec82">Reassignment</a>
</li><li><a href="thinkpython2008.html#sec83">Updating variables</a>
</li><li><a href="thinkpython2008.html#sec84">The <span class="c004">while</span> statement</a>
</li><li><a href="thinkpython2008.html#sec85"><span class="c004">break</span></a>
</li><li><a href="thinkpython2008.html#sec86">Square roots</a>
</li><li><a href="thinkpython2008.html#sec87">Algorithms</a>
</li><li><a href="thinkpython2008.html#sec88">Debugging</a>
</li><li><a href="thinkpython2008.html#sec89">Glossary</a>
</li><li><a href="thinkpython2008.html#sec90">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2009.html">Strings</a>
<ul>
<li><a href="thinkpython2009.html#sec92">A string is a sequence</a>
</li><li><a href="thinkpython2009.html#sec93"><span class="c004">len</span></a>
</li><li><a href="thinkpython2009.html#sec94">Traversal with a <span class="c004">for</span> loop</a>
</li><li><a href="thinkpython2009.html#sec95">String slices</a>
</li><li><a href="thinkpython2009.html#sec96">Strings are immutable</a>
</li><li><a href="thinkpython2009.html#sec97">Searching</a>
</li><li><a href="thinkpython2009.html#sec98">Looping and counting</a>
</li><li><a href="thinkpython2009.html#sec99">String methods</a>
</li><li><a href="thinkpython2009.html#sec100">The <span class="c004">in</span> operator</a>
</li><li><a href="thinkpython2009.html#sec101">String comparison</a>
</li><li><a href="thinkpython2009.html#sec102">Debugging</a>
</li><li><a href="thinkpython2009.html#sec103">Glossary</a>
</li><li><a href="thinkpython2009.html#sec104">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2010.html">Case study: word play</a>
<ul>
<li><a href="thinkpython2010.html#sec106">Reading word lists</a>
</li><li><a href="thinkpython2010.html#sec107">Exercises</a>
</li><li><a href="thinkpython2010.html#sec108">Search</a>
</li><li><a href="thinkpython2010.html#sec109">Looping with indices</a>
</li><li><a href="thinkpython2010.html#sec110">Debugging</a>
</li><li><a href="thinkpython2010.html#sec111">Glossary</a>
</li><li><a href="thinkpython2010.html#sec112">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2011.html">Lists</a>
<ul>
<li><a href="thinkpython2011.html#sec114">A list is a sequence</a>
</li><li><a href="thinkpython2011.html#sec115">Lists are mutable</a>
</li><li><a href="thinkpython2011.html#sec116">Traversing a list</a>
</li><li><a href="thinkpython2011.html#sec117">List operations</a>
</li><li><a href="thinkpython2011.html#sec118">List slices</a>
</li><li><a href="thinkpython2011.html#sec119">List methods</a>
</li><li><a href="thinkpython2011.html#sec120">Map, filter and reduce</a>
</li><li><a href="thinkpython2011.html#sec121">Deleting elements</a>
</li><li><a href="thinkpython2011.html#sec122">Lists and strings</a>
</li><li><a href="thinkpython2011.html#sec123">Objects and values</a>
</li><li><a href="thinkpython2011.html#sec124">Aliasing</a>
</li><li><a href="thinkpython2011.html#sec125">List arguments</a>
</li><li><a href="thinkpython2011.html#sec126">Debugging</a>
</li><li><a href="thinkpython2011.html#sec127">Glossary</a>
</li><li><a href="thinkpython2011.html#sec128">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2012.html">Dictionaries</a>
<ul>
<li><a href="thinkpython2012.html#sec130">A dictionary is a mapping</a>
</li><li><a href="thinkpython2012.html#sec131">Dictionary as a collection of counters</a>
</li><li><a href="thinkpython2012.html#sec132">Looping and dictionaries</a>
</li><li><a href="thinkpython2012.html#sec133">Reverse lookup</a>
</li><li><a href="thinkpython2012.html#sec134">Dictionaries and lists</a>
</li><li><a href="thinkpython2012.html#sec135">Memos</a>
</li><li><a href="thinkpython2012.html#sec136">Global variables</a>
</li><li><a href="thinkpython2012.html#sec137">Debugging</a>
</li><li><a href="thinkpython2012.html#sec138">Glossary</a>
</li><li><a href="thinkpython2012.html#sec139">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2013.html">Tuples</a>
<ul>
<li><a href="thinkpython2013.html#sec141">Tuples are immutable</a>
</li><li><a href="thinkpython2013.html#sec142">Tuple assignment</a>
</li><li><a href="thinkpython2013.html#sec143">Tuples as return values</a>
</li><li><a href="thinkpython2013.html#sec144">Variable-length argument tuples</a>
</li><li><a href="thinkpython2013.html#sec145">Lists and tuples</a>
</li><li><a href="thinkpython2013.html#sec146">Dictionaries and tuples</a>
</li><li><a href="thinkpython2013.html#sec147">Sequences of sequences</a>
</li><li><a href="thinkpython2013.html#sec148">Debugging</a>
</li><li><a href="thinkpython2013.html#sec149">Glossary</a>
</li><li><a href="thinkpython2013.html#sec150">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2014.html">Case study: data structure selection</a>
<ul>
<li><a href="thinkpython2014.html#sec152">Word frequency analysis</a>
</li><li><a href="thinkpython2014.html#sec153">Random numbers</a>
</li><li><a href="thinkpython2014.html#sec154">Word histogram</a>
</li><li><a href="thinkpython2014.html#sec155">Most common words</a>
</li><li><a href="thinkpython2014.html#sec156">Optional parameters</a>
</li><li><a href="thinkpython2014.html#sec157">Dictionary subtraction</a>
</li><li><a href="thinkpython2014.html#sec158">Random words</a>
</li><li><a href="thinkpython2014.html#sec159">Markov analysis</a>
</li><li><a href="thinkpython2014.html#sec160">Data structures</a>
</li><li><a href="thinkpython2014.html#sec161">Debugging</a>
</li><li><a href="thinkpython2014.html#sec162">Glossary</a>
</li><li><a href="thinkpython2014.html#sec163">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2015.html">Files</a>
<ul>
<li><a href="thinkpython2015.html#sec165">Persistence</a>
</li><li><a href="thinkpython2015.html#sec166">Reading and writing</a>
</li><li><a href="thinkpython2015.html#sec167">Format operator</a>
</li><li><a href="thinkpython2015.html#sec168">Filenames and paths</a>
</li><li><a href="thinkpython2015.html#sec169">Catching exceptions</a>
</li><li><a href="thinkpython2015.html#sec170">Databases</a>
</li><li><a href="thinkpython2015.html#sec171">Pickling</a>
</li><li><a href="thinkpython2015.html#sec172">Pipes</a>
</li><li><a href="thinkpython2015.html#sec173">Writing modules</a>
</li><li><a href="thinkpython2015.html#sec174">Debugging</a>
</li><li><a href="thinkpython2015.html#sec175">Glossary</a>
</li><li><a href="thinkpython2015.html#sec176">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2016.html">Classes and objects</a>
<ul>
<li><a href="thinkpython2016.html#sec178">Programmer-defined types</a>
</li><li><a href="thinkpython2016.html#sec179">Attributes</a>
</li><li><a href="thinkpython2016.html#sec180">Rectangles</a>
</li><li><a href="thinkpython2016.html#sec181">Instances as return values</a>
</li><li><a href="thinkpython2016.html#sec182">Objects are mutable</a>
</li><li><a href="thinkpython2016.html#sec183">Copying</a>
</li><li><a href="thinkpython2016.html#sec184">Debugging</a>
</li><li><a href="thinkpython2016.html#sec185">Glossary</a>
</li><li><a href="thinkpython2016.html#sec186">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2017.html">Classes and functions</a>
<ul>
<li><a href="thinkpython2017.html#sec188">Time</a>
</li><li><a href="thinkpython2017.html#sec189">Pure functions</a>
</li><li><a href="thinkpython2017.html#sec190">Modifiers</a>
</li><li><a href="thinkpython2017.html#sec191">Prototyping versus planning</a>
</li><li><a href="thinkpython2017.html#sec192">Debugging</a>
</li><li><a href="thinkpython2017.html#sec193">Glossary</a>
</li><li><a href="thinkpython2017.html#sec194">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2018.html">Classes and methods</a>
<ul>
<li><a href="thinkpython2018.html#sec196">Object-oriented features</a>
</li><li><a href="thinkpython2018.html#sec197">Printing objects</a>
</li><li><a href="thinkpython2018.html#sec198">Another example</a>
</li><li><a href="thinkpython2018.html#sec199">A more complicated example</a>
</li><li><a href="thinkpython2018.html#sec200">The init method</a>
</li><li><a href="thinkpython2018.html#sec201">The <span class="c004">__str__</span> method</a>
</li><li><a href="thinkpython2018.html#sec202">Operator overloading</a>
</li><li><a href="thinkpython2018.html#sec203">Type-based dispatch</a>
</li><li><a href="thinkpython2018.html#sec204">Polymorphism</a>
</li><li><a href="thinkpython2018.html#sec205">Debugging</a>
</li><li><a href="thinkpython2018.html#sec206">Interface and implementation</a>
</li><li><a href="thinkpython2018.html#sec207">Glossary</a>
</li><li><a href="thinkpython2018.html#sec208">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2019.html">Inheritance</a>
<ul>
<li><a href="thinkpython2019.html#sec210">Card objects</a>
</li><li><a href="thinkpython2019.html#sec211">Class attributes</a>
</li><li><a href="thinkpython2019.html#sec212">Comparing cards</a>
</li><li><a href="thinkpython2019.html#sec213">Decks</a>
</li><li><a href="thinkpython2019.html#sec214">Printing the deck</a>
</li><li><a href="thinkpython2019.html#sec215">Add, remove, shuffle and sort</a>
</li><li><a href="thinkpython2019.html#sec216">Inheritance</a>
</li><li><a href="thinkpython2019.html#sec217">Class diagrams</a>
</li><li><a href="thinkpython2019.html#sec218">Debugging</a>
</li><li><a href="thinkpython2019.html#sec219">Data encapsulation</a>
</li><li><a href="thinkpython2019.html#sec220">Glossary</a>
</li><li><a href="thinkpython2019.html#sec221">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2020.html">The Goodies</a>
<ul>
<li><a href="thinkpython2020.html#sec223">Conditional expressions</a>
</li><li><a href="thinkpython2020.html#sec224">List comprehensions</a>
</li><li><a href="thinkpython2020.html#sec225">Generator expressions</a>
</li><li><a href="thinkpython2020.html#sec226"><span class="c004">any</span> and <span class="c004">all</span></a>
</li><li><a href="thinkpython2020.html#sec227">Sets</a>
</li><li><a href="thinkpython2020.html#sec228">Counters</a>
</li><li><a href="thinkpython2020.html#sec229">defaultdict</a>
</li><li><a href="thinkpython2020.html#sec230">Named tuples</a>
</li><li><a href="thinkpython2020.html#sec231">Gathering keyword args</a>
</li><li><a href="thinkpython2020.html#sec232">Glossary</a>
</li><li><a href="thinkpython2020.html#sec233">Exercises</a>
</li></ul>
</li><li><a href="thinkpython2021.html">Debugging</a>
<ul>
<li><a href="thinkpython2021.html#sec235">Syntax errors</a>
</li><li><a href="thinkpython2021.html#sec237">Runtime errors</a>
</li><li><a href="thinkpython2021.html#sec245">Semantic errors</a>
</li></ul>
</li><li><a href="thinkpython2022.html">Analysis of Algorithms</a>
<ul>
<li><a href="thinkpython2022.html#sec252">Order of growth</a>
</li><li><a href="thinkpython2022.html#sec253">Analysis of basic Python operations</a>
</li><li><a href="thinkpython2022.html#sec254">Analysis of search algorithms</a>
</li><li><a href="thinkpython2022.html#sec255">Hashtables</a>
</li><li><a href="thinkpython2022.html#sec256">Glossary</a>
</li></ul>
</li><li><a href="thinkpython2023.html">Index</a>
</li></ul>
<p>
</td>
<td width=130 valign="top" id="col-right">
<p>
<h4>Are you using one of our books in a class?</h4> We'd like to know
about it. Please consider filling out <a href="http://spreadsheets.google.com/viewform?formkey=dC0tNUZkMjBEdXVoRGljNm9FRmlTMHc6MA" onClick="javascript: pageTracker._trackPageview('/outbound/survey');">this short survey</a>.
<p>
<br>
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491938455/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491938455&linkCode=as2&tag=greenteapre01-20&linkId=2JJH4SWCAVVYSQHO">Think DSP</a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491938455" width="1" height="1" border="0" alt="">
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491938455/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491938455&linkCode=as2&tag=greenteapre01-20&linkId=CTV7PDT7E5EGGJUM"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1491938455&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491938455" width="1" height="1" border="0" alt="">
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491929561/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491929561&linkCode=as2&tag=greenteapre01-20&linkId=ZY6MAYM33ZTNSCNZ">Think Java</a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491929561" width="1" height="1" border="0" alt="">
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491929561/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491929561&linkCode=as2&tag=greenteapre01-20&linkId=PT77ANWARUNNU3UK"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1491929561&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491929561" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1449370780/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1449370780&linkCode=as2&tag=greenteapre01-20">Think Bayes</a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1449370780" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1449370780/ref=as_li_qf_sp_asin_il?ie=UTF8&camp=1789&creative=9325&creativeASIN=1449370780&linkCode=as2&tag=greenteapre01-20"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1449370780&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1449370780" width="1" height="1" border="0" alt="">
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491939362/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491939362&linkCode=as2&tag=greenteapre01-20&linkId=FJKSQ3IHEMY2F2VA">Think Python 2e</a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491939362" width="1" height="1" border="0" alt="">
<p>
<a rel="nofollow" href="http://www.amazon.com/gp/product/1491939362/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491939362&linkCode=as2&tag=greenteapre01-20&linkId=ZZ454DLQ3IXDHNHX"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1491939362&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491939362" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1491907339/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491907339&linkCode=as2&tag=greenteapre01-20&linkId=O7WYM6H6YBYUFNWU">Think Stats 2e</a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491907339" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1491907339/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491907339&linkCode=as2&tag=greenteapre01-20&linkId=JVSYKQHYSUIEYRHL"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1491907339&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://ir-na.amazon-adsystem.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1491907339" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1449314635/ref=as_li_tf_tl?ie=UTF8&tag=greenteapre01-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1449314635">Think Complexity</a><img class="c003" src="http://www.assoc-amazon.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1449314635" width="1" height="1" border="0" alt="">
<p>
<a href="http://www.amazon.com/gp/product/1449314635/ref=as_li_tf_il?ie=UTF8&camp=1789&creative=9325&creativeASIN=1449314635&linkCode=as2&tag=greenteapre01-20"><img border="0" src="http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=1449314635&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=greenteapre01-20"></a><img class="c003" src="http://www.assoc-amazon.com/e/ir?t=greenteapre01-20&l=as2&o=1&a=1449314635" width="1" height="1" border="0" alt="">
</td>
</tr>
</table>
<!--FOOTER-->
<hr style="height:2"><blockquote class="quote"><em>This document was translated from L<sup>A</sup>T<sub>E</sub>X by
</em><a href="http://hevea.inria.fr/index.html"><em>H<span class="c007"><sup>E</sup></span>V<span class="c007"><sup>E</sup></span>A</em></a><em>.</em></blockquote></body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</html>