Errata in Fundamentals of Python: First Programs

(ISBN-10: 1111822700)


Below are the errors that have been discovered in the first printing.  Please report any new errors to



Page 60

Line 2, “int, long, or float” should be “int or float

Page 64

Line 3, “Arguments are also” should be “Names that refer to arguments are”

Page 99

Second sentence of the second paragraph should be “The not operator has a higher precedence than the and operator, which has a higher precedence than the or operator.”

Page 99

Table 3-4, third row from the bottom, should contain “Logical conjunction                     and

Page 99

Table 3-4, second row from the bottom, should contain “Logical disjunction                      or

Page 128

First line after line beginning with “if” in first code segment, “cipherValue = ord('z') - \

                  (distance - (ord('a') - ordValue + 1))should be

 cipherValue = ord('z') - (distance - \

                           (ordValue -ord('a')) - 1)


Page 185

Last paragraph, “the dictionary method has_key” should be “the operator in

Page 186

Second line of code at bottom of page, “grades.items()” should be “list(grades.items())

Page 188

Table 5.4, the row beginning with “d.has_key(key)” should be deleted.

Page 271

Table 7.4, row 2, column 2, “white” should be “transparent”

Page 273

Third line of plain text, “white” should be “transparent”

Page 290

Last line of plain text before second code segment, “white” should be “transparent”

Page 312

Table 8.4, left column, “Mutiplication” should be “Multiplication”

Page 311

End of the first paragraph, add sentence “Note that this class only supports positive rational numbers.”

Page 313

Table 8.5, rightmost column, “__neq__” should be “__ne__

Page 315

Table 8.6, last row, column 1, “__str__(a)” should be “a.__str__()

Page 346

Third line from top of page, “save” should be “dump

Chapter 11, page 3

print ("%12s16s" % ("Problem Size", "Seconds"))” should be

print ("%12s%16s" % ("Problem Size", "Seconds"))