Ackerman function, 6.11
- AttributeError, 15.7, A.2.3
- absolute path, 14.4, 14.11
histogram, 13.3
- addition with carrying, 7.6
- algorithm, 1.2, 1.7, 7.6, 13.7
Euclid, 6.11
- aliasing, 10.10, 10.11, 10.14, 15.2, 15.6, 17.12
copying to avoid, 10.13
- alternative execution, 5.5
- append method, 10.6, 10.12, 10.15, 18.4, 18.6
- argument, 3.1, 3.5, 3.8, 3.8, 3.14, 10.12
gather, 12.4
- keyword, 4.5, 4.11, 12.7, 19.2
- optional, 8.8, 10.9, 11.3
- variable-length tuple, 12.4
- assignment, 2.11, 7.1, 10.1
item, 8.5, 10.2, 12.1
- tuple, 12.2, 12.3, 12.5, 12.10
- assignment statement, 2.2
__dict__, 17.10
- instance, 15.2, 15.8, 18.2, 18.10
- available colors, 15.9, 17.12
- Bangladesh, national flag, 15.9
- benchmarking, 13.9, 13.11
- big, hairy expression, A.3.2
- bisection, debugging by, 7.7
- body, 3.5, 3.14, 5.13, 7.3
- boolean expression, 5.2, 5.13
- boolean function, 6.4, 16.1
- borrowing, subtraction with, 7.6, 16.4
- bound method, 19.6, 19.10
- bounding box, 15.9, 19.4, 19.10
squiggly, 11
- bracket operator, 8.1, 10.2, 12.1
worst, 17.12
- Canvas coordinate, 19.3, 19.8
- Car Talk, 9.7, 9.7, 9.7, 11.10, 12.11
- Czech Republic, national flag, 15.9
- callback, 19.2, 19.6, 19.7, 19.8, 19.9, 19.10
- carrying, addition with, 7.6, 16.2, 16.4
- case-sensitivity, variable names, 2.10
- chained conditional, 5.6, 5.13
Card, 18.1
- class attribute, 18.2, 18.10
- class diagram, 18.8, 18.10
- close method, 14.2, 14.6, 14.8
string, 8.10
- composition, 3.4, 3.8, 3.14, 6.3, 18.4
- compound statement, 5.4, 5.13
file, 14.8
- concatenation, 2.8, 2.11, 3.9, 8.3, 8.5, 10.9
list, 10.4, 10.12, 10.15
- condition, 5.4, 5.13, 7.3, A.2.2
chained, 5.6, 5.13
- conditional execution, 5.4
- conditional operator, 18.3
- conditional statement, 5.4, 5.13, 6.4
- consistency check, 11.8, 16.4
type, 3.2
Canvas, 19.3, 19.8
- coordinate sequence, 19.4
deep, 15.6
- counter, 8.7, 8.12, 11.1, 11.6
- counting and looping, 8.7
- Doyle, Arthur Conan, 1.3.4
- DSU pattern, 12.7, 12.10, 13.4
- data structure, 12.9, 12.10, 13.9
- database, 14.6, 14.11, 14.12
- dead code, 6.1, 6.10, A.2.4
- debugging, 1.3, 1.3, 1.6, 1.7, 2.10, 3.13, 4.10, 5.12, 6.9, 8.11, 9.5, 10.13, 11.8, 12.9, 13.10, 14.10, 15.7, 16.5, 17.10, 18.9, 19.9, A
by bisection, 7.7
- emotional response, 1.6, A.3.4
- deck, playing cards, 18.4
- decorate-sort-undecorate pattern, 12.7
- default value, 13.5, 13.11, 17.5
avoiding mutable, 17.12
circular, 6.5
- deletion, element of list, 10.8
- deterministic, 13.2, 13.11
encapsulation and generalization, 4.8
- problem recognition, 9.3, 9.4
- prototype and patch, 16.2, 16.4
- random walk programming, 13.10, A.3.4
call graph, 11.9
- object, 15.2, 15.3, 15.6, 15.8, 16.1, 18.2
- state, 2.2, 7.1, 8.11, 10.2, 10.10, 10.11, 11.4, 12.6, 15.2, 15.3, 15.6, 16.1, 18.2
- __dict__ attribute, 17.10
- dictionary, 11, 11, 11.9, 12.6, A.2.3
initialize, 12.6
anydbm module, 14.6
walk, 14.4
type-based, 17.9
- dispatch, type-based, 17.8
floating-point, 2.5
- docstring, 4.9, 4.11, 15.1
- dot notation, 3.3, 3.14, 8.8, 15.2, 17.2, 18.2
- duplicate, 10.15, 10.15, 11.10, 14.12
- embedded object, 15.3, 15.8, 17.12
copying, 15.6
- emotional debugging, 1.6, A.3.4
- encapsulation, 4.4, 4.11, 6.3, 7.5, 8.7, 18.7
- end of line character, 14.10
- equality and assignment, 7.1
compile-time, A
- runtime, 1.3.2, 2.10, 5.10, 5.12, A
- semantic, 1.3.3, 2.1, 2.10, 8.11, A, A.3
- error message, 1.3.1, 1.3.3, 1.6, 2.1, 2.10, A.1
- event-driven programming, 19.2, 19.9, 19.10
- exception, 1.3.2, 1.7, 2.10, A, A.2.3
AttributeError, 15.7, A.2.3
- IndexError, 8.2, 8.11, 10.2, A.2.3
- TypeError, 8.1, 8.5, 11.4, 12.1, 12.4, 14.3, 17.3, A.2.3
- ValueError, 5.11, 11.3, 12.2
- exception, catching, 14.5
- experimental debugging, 1.3.4, 13.10
- expression, 2.5, 2.6, 2.11
big and hairy, A.3.2
- Fermat’s Last Theorem, 5.14
- Free Documentation License, GNU, 0, 0
- factorial function, 6.5, 6.8
- fibonacci function, 6.7, 11.5
compression, 14.8
- reading and writing, 14.2
- filter pattern, 10.7, 10.14
- floating-point, 2.11, 7.5
- floating-point division, 2.5
- floor division, 2.5, 2.11, 5.12
- flow of execution, 3.7, 3.14, 6.7, 6.9, 7.3, 18.9, 19.9, A.2.2
- for loop, 4.2, 8.3, 10.3, 12.5
- formal language, 1.4, 1.7
- format operator, 14.3, 14.11, A.2.3
- format sequence, 14.3, 14.11
- format string, 14.3, 14.11
- frame, 3.10, 3.14, 5.9, 6.5, 11.5
letter, 12.11
- fruitful function, 3.11, 3.14
- function, 3.5, 3.14, 17.1
abs, 6.1
- open, 9.1, 9.1, 14.2, 14.5, 14.6
- function composition, 6.3
- function definition, 3.5, 3.6, 3.14, 3.14
- function frame, 3.10, 3.14, 5.9, 11.5
- function object, 3.5, 3.15
modifier, 16.3
- function, reasons for, 3.12
- function, trigonometric, 3.3
- function, tuple as return value, 12.3
- functional programming style, 16.3, 16.6
- GCD (greatest common divisor), 6.11
- GNU Free Documentation License, 0, 0
- generalization, 4.5, 4.11, 9.3, 16.4
- geometry manager, 19.6, 19.10
- global variable, 11.6, 11.9
update, 11.6
- graphical user interface, 19.1
- greatest common divisor (GCD), 6.11
- guardian pattern, 6.8, 6.10, 8.11
- gzip (Unix command), 14.8
- HAS-A relationship, 18.8, 18.10
- hasattr function, 15.7, 17.10
- hash function, 11.4, 11.9
- hashable, 11.4, 11.9, 12.6
- high-level language, 1.1, 1.7
- histogram, 11.1, 11.1, 11.9
random choice, 13.2, 13.7
- IMDb (Internet Movie Database), 14.12
- IndexError, 8.2, 8.11, 10.2, A.2.3
- Internet Movie Database (IMDb), 14.12
- IS-A relationship, 18.8, 18.10
- immutability, 8.5, 8.5, 8.12, 10.11, 11.4, 12.1, 12.8
- implementation, 11.1, 11.9, 13.9
- import statement, 3.14, 4.1, 14.9
- in operator, 8.9, 9.3, 10.2, 11
- increment, 7.2, 7.8, 16.3, 17.3
- incremental development, 6.10, A.1
- indentation, 3.5, 17.2, A.1
- index, 8.1, 8.1, 8.11, 8.12, 10.2, 10.14, 11, A.2.3
looping with, 9.4, 10.3
- starting at zero, 8.1, 10.2
- infinite loop, 7.3, 7.8, 19.1, A.2.2, A.2.2
- infinite recursion, 5.10, 5.13, 6.8, A.2.2, A.2.2
- init method, 17.5, 17.10, 18.1, 18.4, 18.7
- initialization (before update), 7.2
- instance, 4.1, 4.11, 15.1, 15.8
as argument, 15.2
- instance attribute, 15.2, 15.8, 18.2, 18.10
long, 11.7
- interactive mode, 1.1, 1.7, 2.4, 3.11
- interface, 4.6, 4.10, 4.11, 18.9
- interlocking words, 10.15
- invariant, 16.5, 16.6, 19.9
- isinstance function, 6.8, 17.8
Canvas, 19.3, 19.10
- item assignment, 8.5, 10.2, 12.1
- key-value pair, 11, 11.9, 12.6
- keyword, 2.3, 2.3, 2.11, A.1
def, 3.5
- keyword argument, 4.5, 4.11, 12.7, 19.2, 19.10
formal, 1.4
- len function, 3.15, 8.2, 11
- letter rotation, 8.13, 11.10
- list, 10, 10.9, 10.14, 12.8
as argument, 10.12
- concatenation, 10.4, 10.12, 10.15
|
- local variable, 3.9, 3.14
- logical operator, 5.2, 5.3
- loop, 4.2, 4.11, 7.3, 12.5
condition, A.2.2
- infinite, 7.3, 19.1, A.2.2
with dictionaries, 11.2
- looping and counting, 8.7
- looping with indices, 10.3
- low-level language, 1.1, 1.7
- Monty Python and the Holy Grail, 16.2
- mapping, 10.2, 10.14, 13.8
bisection search, 10.15
- metaphor, method invocation, 17.2
- method, 8.8, 8.12, 17.1, 17.11
__cmp__, 18.3
- append, 10.6, 10.12, 18.4, 18.6
- init, 17.5, 18.1, 18.4, 18.7
- sort, 10.6, 10.13, 12.7, 18.6
- method resolution order, 18.9
anydbm, 14.6
- random, 10.15, 12.7, 13.2, 18.6
- modulus operator, 5.1, 5.13
- multiline string, 4.9, A.1
- multiple assignment, 7.1, 7.8, 11.6
- multiplicity (in class diagram), 18.8, 18.10
- mutability, 8.5, 10.2, 10.5, 10.11, 11.6, 12.1, 12.8, 15.5
- mutable object, as default value, 17.12
- None special value, 3.11, 6.1, 6.10, 10.6, 10.8
- natural language, 1.4, 1.7
- nested conditional, 5.7, 5.13
- nested list, 10.1, 10.3, 10.14
- object, 8.5, 8.12, 10.10, 10.10, 10.14, 15.1
Callable, 19.7
- embedded, 15.3, 15.8, 17.12
- object diagram, 15.2, 15.3, 15.6, 15.8, 16.1, 18.2
- object-oriented language, 17.11
- object-oriented programming, 17.1, 17.11, 18.7
- open function, 9.1, 9.1, 14.2, 14.5, 14.6
and, 5.3
- format, 14.3, 14.11, A.2.3
- slice, 8.4, 8.13, 10.5, 10.12, 12.1
- operator overloading, 17.7, 18.3
- operator, arithmetic, 2.5
- optional argument, 8.8, 10.9, 11.3
- optional parameter, 13.5, 17.5
- order of operations, 2.7, 2.10, A.3.2
- other (parameter name), 17.4
- override, 13.5, 13.11, 17.5, 18.3, 18.7, 18.9
- PIL (Python Imaging Library), 19.11
- Puzzler, 9.7, 9.7, 9.7, 11.10, 12.11
- Python 3.0, 1.5, 2.5, 5.11, 11.7, 12.5
- Python debugger (pdb), A.2.3
- Python Imaging Library (PIL), 19.11
- packing widgets, 19.6, 19.10
- palindrome, 6.11, 8.13, 9.4, 9.7, 9.7
- parameter, 3.8, 3.9, 3.14, 10.12
gather, 12.4
- parent class, 18.7, 18.7, 18.10
argument in, 3.1
- overriding precedence, 2.7
absolute, 14.4
DSU, 12.7, 13.4
- decorate-sort-undecorate, 12.7
- guardian, 6.8, 6.10, 8.11
- search, 8.6, 8.12, 9.3, 11.3
- pdb (Python debugger), A.2.3
- pickle module, 14.1, 14.7
- plain text, 9.1, 13.1, 14.12, 19.11
- planned development, 16.4, 16.6
- playing card, Anglo-American, 18
- point, mathematical, 15.1
- polymorphism, 17.9, 17.11, 18.9
- postcondition, 4.10, 6.9, 18.9
- precondition, 4.10, 4.11, 4.11, 6.9, 10.15, 18.9
- print statement, 1.5, 1.7, 17.6, A.2.4
- problem recognition, 9.3, 9.4, 9.6
- programming language, 1.1
- prototype and patch, 16.2, 16.4, 16.6
- pseudorandom, 13.2, 13.11
- pure function, 16.2, 16.6
- quotation mark, 1.5, 2.1, 2.1, 4.9, 8.4, A.1
- Ramanujan, Srinivasa, 7.9
- raise statement, 11.3, 16.5
- randint function, 10.15, 13.2
- random function, 12.7, 13.2
- random module, 10.15, 12.7, 13.2, 18.6
- random walk programming, 13.10, A.3.4
- readline method, 9.1, 14.8
- recursion, 5.8, 5.8, 5.13, 6.5, 6.6
base case, 5.9
- infinite, 5.10, 6.8, A.2.2
- recursive definition, 6.5, 12.11
- reduce pattern, 10.7, 10.14
- reducible word, 11.10, 12.11
- reference, 10.11, 10.12, 10.14
aliasing, 10.11
- relative path, 14.4, 14.11
- reload function, 14.9, A.1.1
list, 10.4
- representation, 15.1, 15.3, 18.1
- return statement, 5.8, 6.1, A.3.3
- return value, 3.1, 3.14, 6.1, 15.4
tuple, 12.3
- reverse lookup, dictionary, 11.3, 11.9
letters, 11.10
- rules of precedence, 2.7, 2.11
- running pace, 1.8, 2.12, 16.7
- runtime error, 1.3.2, 2.10, 5.10, 5.12, A, A.2.3
- SimpleTurtleWorld class, 19.6
- Swampy, 4.1, 9.1, 15.9, 18.11, 19.1
- scaffolding, 6.2, 6.10, 11.8
- script mode, 1.1, 1.7, 2.4, 3.11
- search pattern, 8.6, 8.12, 9.3
- self (parameter name), 17.2
- semantic error, 1.3.3, 1.7, 2.1, 2.10, 8.11, A, A.3
- semantics, 1.3.3, 1.7, 17.1
- sequence, 8.1, 8.12, 10.1, 10.9, 12.1, 12.8
coordinate, 19.4
anagram, 12.11, 14.7
- shelve module, 14.7, 14.12
- singleton, 11.4, 11.9, 12.1
copy, 8.4, 10.5
- slice operator, 8.4, 8.13, 10.5, 10.12, 12.1
- sort method, 10.6, 10.13, 12.7, 18.6
- special case, 9.5, 9.6, 16.3
False, 5.2
- None, 3.11, 6.1, 6.10, 10.6, 10.8
- stack diagram, 3.10, 3.10, 3.14, 4.12, 5.9, 6.5, 6.11, 10.12
- state diagram, 2.2, 2.11, 7.1, 8.11, 10.2, 10.10, 10.11, 11.4, 12.6, 15.2, 15.3, 15.6, 16.1, 18.2
assert, 16.5
- conditional, 5.4, 5.13, 6.4
- print, 1.5, 1.7, 17.6, A.2.4
- __str__ method, 17.6, 18.5
- string, 2.1, 2.11, 10.9, 12.8
accumulator, 18.5
- string representation, 14.10, 17.6
- subject, 17.2, 17.11, 19.6
dictionary, 13.6
- subtraction with borrowing, 16.4
- superstitious debugging, A.3.4
- syntax, 1.3.1, 1.3.1, 1.7, 17.1, A.1
- syntax error, 1.3.1, 1.7, 2.10, A
- Turing complete language, 6.5
- TurtleWorld, 4.1, 5.14, 18.11
- TypeError, 8.1, 8.5, 11.4, 12.1, 12.4, 14.3, 17.3, A.2.3
- temporary variable, 6.1, 6.10, A.3.2
- test case, minimal, A.2.4
and absence of bugs, 9.5
- incremental development, 6.2
plain, 9.1, 13.1, 14.12, 19.11
- traceback, 3.10, 3.14, 5.10, 5.12, 11.3, A.2.3
- traversal, 8.3, 8.3, 8.6, 8.11, 8.12, 9.3, 9.3, 10.7, 10.14, 11.1, 11.2, 12.5, 12.5, 12.7, 13.3
dictionary, 17.10
dictionary, 12.6
- trigonometric function, 3.3
- triple-quoted string, 4.9
- tuple, 12.1, 12.3, 12.8, 12.10
as key in dictionary, 12.6, 13.9
- tuple assignment, 12.3, 12.5, 12.10
bool, 5.2
- type-based dispatch, 17.8, 17.9, 17.11
- typographical error, 13.10
gzip, 14.8
- underscore character, 2.3
coordinate, 19.8
- urllib module, 14.12, 19.11
- use before def, 2.10, 3.6
- user-defined type, 15.1, 16.1
- ValueError, 5.11, 11.3, 12.2
- value, 2.1, 2.11, 10.10, 10.10, 11.9
default, 13.5
global, 11.6
- temporary, 6.1, 6.10, A.3.2
- variable-length argument tuple, 12.4
- void function, 3.11, 3.14
- whitespace, 3.13, 5.12, 9.1, 14.10, A.1
Button, 19.2
- word frequency, 13.1, 13.12
- word, reducible, 11.10, 12.11
ever, 19.11
- zero, index starting at, 8.1, 10.2
use with dict, 12.6
|