Make Way for Ducklings: 7.3
__init__: 13.4
abecedarian: 7.3
abstraction: 8.10, 8.11
algorithm: 1.10, 6.15, 6.16
aliasing: 9.11, 9.21, 12.3, 13.10
ambiguity: 1.8, 13.6
argument: 3.3, 3.7
argv: 10.11, 10.12
assignment: 2.2, 6.1
assignment operator: 2.12
assignment statement: 2.12
assignment, multiple: 6.16
assignment, tuple: 11.2, 11.11
attribute: 10.5, 10.12, 13.3, 13.11
base case: 11.11
block: 4.4, 4.12
body: 3.7, 4.4, 4.12
body, loop: 6.3
boolean expression: 4.2, 4.12
boolean function: 5.4, 5.9
boolean value: 4.2
bracket operator: 7.1
branch: 4.5, 4.12, 4.12
break: 8.5, 8.11
break statement: 8.5, 8.11
bug: 1.3, 1.10
byte code: 1.10
call graph: 12.5
chained conditional: 4.6, 4.12
character: 7.1
character classification: 7.12
chr function: 10.10
class: 13, 13.11
classification, character: 7.12
clone: 9.21
cloning: 9.12, 12.3
coercion, type: 12.6
column: 9.18
command line: 10.11, 10.12
command line arguments: 10.11, 10.12
command prompt: 10.2, 10.12
command, list: 9.20
command, str: 9.20
comment: 2.11, 2.12
comparison, string: 7.5
compile: 1.1, 1.10
composition: 2.10, 2.12, 3.4, 5.3, 5.9
compound data type: 7.1, 7.14, 13.2
compound statement: 3.7, 4.4, 4.12
compound statement, body: 3.7, 4.4
compound statement, header: 3.7, 4.4
compound statement, statement block: 4.4
compression: 12.7
computational pattern: 7.8
concatenation: 2.8, 2.12, 7.3, 7.6
concatenation, list: 9.5
condition: 4.12, 6.3
conditional branching: 4.4
conditional execution: 4.4
conditional statement: 4.12
conditional, chained: 4.6
constant: 8.10, 8.11
constructor: 13.11
continue statement: 10.8, 10.12
converstion, type: 4.10
copy module: 13.10
copying: 12.3, 13.10
counter: 6.5, 6.16, 7.9
counting: 12.7
cursor: 6.16
data structure: 11.5, 11.11
data structure, recursive: 11.5
data type, compound: 7.1, 13.2
data type, dictionary: 12
data type, immutable: 11.1
data type, list: 9
data type, long integer: 12.6
data type, mutable: 9, 9.8
data type, tuple: 11.1
data type, user-defined: 13.2
dead code: 5.1, 5.9
debugging: 1.3, 1.10
decrement: 6.16
deep copy: 13.11
deep equality: 13.6, 13.11
default value: 7.10, 7.14
definition, function: 3.1
definition, recursive: 11.5
deletion, list: 9.9
delimiter: 9.21, 10.9, 10.12
development plan: 6.16
development, incremental: 5.2
dictionary: 12, 12.9
dictionary, method: 12.2
dictionary, operation: 12.1
dir: 10.13
dir function: 7.11
directory: 10.9, 10.12
doc string: 7.11
doctest: 5.9
dot notation: 7.11, 7.12, 7.14
dot operator: 7.14, 10.5, 10.12
Doyle, Arthur Conan: 1.7
element: 9, 9.21
elif: 4.4
else: 4.4
embedded reference: 13.10
encapsulate: 6.16
encapsulation: 6.9
enumerate: 9.13
equality: 13.6
error, runtime: 1.5
error, semantic: 1.6
error, syntax: 1.4
escape sequence: 6.7, 6.16
eureka traversal: 7.8
evaluate: 2.12
event: 12.9
event loop: 12.9
event-driven program: 12.9
except statement: 11.7
exception: 1.5, 1.10, 11.7, 11.11
exception handling: 11.7
executable: 1.10
expression: 2.6, 2.12
expression, boolean: 4.2, 4.12
Fibonacci function: 12.5
file: 10.7, 10.12
file system: 10.9, 10.12
file, text: 10.8
float: 2.1, 2.12
floating-point: 2.12
flow of execution: 3.2, 3.7
for loop: 7.3, 9.13
formal language: 1.8, 1.10
formatting, strings: 7.13
frame: 3.6, 3.7, 12.5
fruitful function: 5.9
function: 3.1, 3.7, 6.13
function call: 3.7
function call, recursive: 11.6
function definition: 3.1, 3.7
function frame: 3.6, 3.7, 12.5
function type, modifier: 9.15, 11.4
function type, pure: 9.15, 11.4
function, argument: 3.3
function, boolean: 5.4
function, boolean : 5.9
function, chr: 10.10
function, composition: 3.4, 3.7, 5.3, 5.9
function, dir: 7.11, 10.13
function, ord: 10.10
function, parameter: 3.3
function, recursive: 11.6
function, tuple as return value: 11.3
functional programming style: 9.16
generalization: 6.9
generalize: 6.16
hand trace: 6.4
handle an exception: 11.7, 11.11
header: 3.7
hello world: 1.9
high-level language: 1.1, 1.10
hint: 12.5, 12.9
histogram: 12.7
Holmes, Sherlock: 1.7
identity: 13.6
if: 4.4
immutable: 7.14, 11.1
immutable data type: 11.11
immutable string: 7.6
import: 3.3, 3.7
import statement: 10.1, 10.3, 10.12
in: 7.7
in operator: 9.4
increment: 6.16
incremental development: 5.2, 5.9
index: 7.1, 7.14, 9.21, 12
index, negative: 7.2
infinite loop: 6.3, 6.16
infinite recursion: 11.11, See Also: recursion, infinite
initialization method: 13.4
initialize a variable: 6.16
input: 2.9
instance: 13.5, 13.8, 13.11
instance, initialization: 13.4
instance, object: 13.2
instantiate: 13.11
instantiation: 13.2
int: 2.1, 2.12
integer: 2.1, 2.12
integer division: 2.6, 2.12
integer, long: 12.6
Intel: 6.7
interpret: 1.1, 1.10
invoking method: 12.2
iteration: 6, 6.3, 6.16
join function: 9.20
Jython: 10.11, 10.12
key: 12, 12.9
key-value pair: 12, 12.9
keyboard input: 2.9
keyword: 2.3, 2.3, 2.12
language, : 13.6
language, formal: 1.8
language, high-level: 1.1
language, low-level: 1.1
language, natural: 1.8
language, programming: 1.1
language, safe: 1.5
law of trichotomy: 8.11
length: 9.3
Linux: 1.7
list: 9, 9.21
list comprehension: 11.9, 11.11
list deletion: 9.9
list method: 12.7
list methods: 10.6
list operation: 9.5
list traversal: 9.21
list, as parameter: 9.14
list, cloning: 9.12
list, element: 9.2
list, for loop: 9.13
list, length: 9.3
list, membership: 9.4
list, nested: 9, 9.1, 9.17, 9.18, 12.4
list, slice: 9.6
list, traversal: 9.2
literalness: 1.8
local variable: 3.5, 3.7, 6.11
logarithm: 6.7
logical operator: 4.2, 4.3
long integer: 12.6
loop: 6.3, 6.16
loop variable: 6.16
loop, body: 6.3, 6.16
loop, for loop: 7.3
loop, infinite: 6.3
loop, traversal: 7.3
loop, while: 6.3
low-level language: 1.1, 1.10
lowercase: 7.12
mapping type: 12, 12.9
matrix: 9.18
matrix, sparse: 12.4
McCloskey, Robert: 7.3
method: 10.12, 12.2
method, dictionary: 12.2
method, invocation: 12.2
method, list: 12.7
methods, list: 10.6
methods, string: 10.6
mode (file object): 10.12
modifier: 9.15, 9.21, 11.4
module: 7.11, 10.1, 10.12
module, copy: 13.10
module, string: 7.12, 10.5
module, sys: 10.11
modulus operator: 4.1, 4.12
multiple assignment: 6.1, 6.16
mutable: 7.6, 9.8, 11.1
mutable data type: 11.11
mutable type: 9.21
mutable, object: 13.9
namespace: 10.4, 10.12
naming collision: 10.4, 10.12
natural language: 1.8, 1.10, 13.6
nested list: 9, 9.17, 9.21, 12.4
nested loop: 8.10, 8.11
nesting: 4.12
newline: 6.16
non-volatile memory: 10.7, 10.12
None: 5.1, 5.9
NoneType: 5.1, 5.9
object: 9.10, 9.21, 13, 13.11
object code: 1.10
object instance: 13.2
object, mutable: 13.9
object-oriented programming: 13.1
object-oriented programming language: 13.1
operand: 2.6, 2.12
operation, dictionary: 12.1
operation, list: 9.5
operator: 2.6, 2.12
operator, .: 10.5, 10.12
operator, assignment: 2.12
operator, bracket: 7.1
operator, in: 7.7, 9.4
operator, logical: 4.2, 4.3
operator, modulus: 4.1
optional parameter: 7.10, 7.14
ord function: 10.10
order of operations: 2.7
overflow: 12.9
parameter: 3.3, 3.7, 9.14, 13.5
parameter, list: 9.14
parameter, optional: 7.10
parse: 1.8, 1.10
pass statement: 4.4
path: 10.9, 10.12
pattern: 7.8, 7.9
Pentium: 6.7
poetry: 1.8
portability: 1.10
portable: 1.1
print statement: 1.9, 1.10
printing, object: 13.4
problem-solving: 1.10
program: 1.10
program development, encapsulation: 6.9
program development, generalization: 6.9
program trace: 6.16
program tracing: 6.4
program, development: 6.16
programming language: 1.1
prompt: 4.9, 4.12
prose: 1.8
pure function: 9.15, 9.21, 11.4
pydoc: 10.2, 10.12
Python Library Reference: 7.12
raise exception: 11.7, 11.11
random: 8.3, 8.11
random values: 8.3
rectangle: 13.7
recursion: 11.6, 11.11
recursive call: 11.6, 11.11
recursive data structure: 11.5
recursive definition: 11.5, 11.11
recursive function: 11.6
redundancy: 1.8
reference, aliasing: 9.11
reference, embedded: 13.10
repetition, list: 9.5
return statement: 4.8
return value: 5.1, 5.9, 13.8
return value, tuple: 11.3
row: 9.18
rules of precedence: 2.7, 2.12
runtime error: 1.5, 1.10, 7.2, 7.2, 7.6, 9.2, 10.7, 11.1, 12.2, 12.4
safe language: 1.5
sameness: 13.6
scaffolding: 5.2, 5.9
script: 1.10
semantic error: 1.6, 1.10, 11.3
semantics: 1.6, 1.10
sequence: 9, 9.21
sequence, immutable: 11.1
sequence, mutable: 9.8
shallow copy: 13.11
shallow equality: 13.6, 13.11
side effect: 9.15, 9.21, 11.4
slice: 7.4, 7.14, 9.6
source code: 1.10
split function: 9.20
stack diagram: 3.6, 3.7
stack trace: 3.6, 3.7
standard library: 10.1, 10.12
state diagram: 2.2, 2.12
statement: 2.12
statement, assignment: 2.2, 6.1
statement, block: 4.4
statement, compound: 4.4
statement, conditional: 4.12
statement, continue: 10.8, 10.12
statement, except: 11.7
statement, if: 4.4
statement, import: 3.3, 10.1, 10.12
statement, pass: 4.4
statement, print: 1.9, 1.10
statement, return: 4.8
statement, try: 11.7
statement, while: 6.3
step size: 9.21
str: 2.12
string: 2.1, 2.1, 2.12
string comparison: 7.5
string formatting: 7.13
string methods: 10.6
string module: 7.11, 7.12, 10.5
string operations: 2.8, 7.13
string, immutable: 7.6
string, length: 7.2
string, slice: 7.4
strings, single and double quoted: 2.1
strings, triple quoted: 5.7
syntax: 1.4, 1.10
syntax error: 1.4, 1.10
sys module: 10.11
tab: 6.16
table: 6.7
table, two-dimensional: 6.8
tail recursion: 11.11
TDD: 9.19, 9.21
temporary variable: 5.1, 5.9
test-driven development: 9.19, 9.21
text file: 10.8, 10.12
token: 1.10
trace: 6.16
trace, stack: 3.6
traceback: 3.6, 3.7, 11.7
tracing a program: 6.4
traversal: 7.3, 7.8, 9.13
traversal, list: 9.2
traverse: 7.14
trichotomy: 8.11
triple quoted strings: 5.7
try statement: 11.7
tuple: 11.1, 11.3, 11.11
tuple assignment: 11.2, 11.11
type: 2.1, 2.1, 2.12
type coercion: 12.6
type conversion: 4.12
type converstion: 4.10
type function: 7.11
type, float: 2.1, 2.12
type, int: 2.1, 2.12
type, mapping: 12
type, NoneType: 5.1, 5.9
type, str: 2.12
type, string: 2.1
underscore character: 2.3
unit testing: 5.9
uppercase: 7.12
user-defined data type: 13.2
value: 2.1, 2.12, 9.10
value, boolean: 4.2
value, None: 5.1
value, tuple: 11.3
variable: 2.2, 2.12
variable name: 2.12
variable, initialization: 6.16
variable, local: 3.5, 6.11
variable, temporary: 5.1, 5.9
volatile memory: 10.7, 10.12
while statement: 6.3
whitespace: 7.12, 7.14