Hands-on Python Tutorial 3 Major Change Log
November 8, 2019
- Major addition is the html source editing appendix
- Other changes acknowledging that Kompozer
no longer works with OSX Catalina,
but the new appendix section can be used for the simnple
editing needed for the exercises.
- added examples for projects needing to design
complicated Polygon shapes
- added code for projects that want to test for a Point being inside
a general Polygon.
July 29, 2019
- Major review of the tutorial, creating version 2
- Added appendices for OS specific data, and for a debugging intro
- Removed lot of obsolete material on instalation, Idle, OS's.
- Elaborated a large number of explanations that had caused
problems in the past.
- Added paragraphs for for, if, while
on thinking of the English
phrases that would suggest those compound statements.
- In the section on string formatting with **locals(),
added the shorter alternate with f-strings.
- Have a new file to start Idle on Windows in the current folder.
- Did not change the numbering and names of sections and
homework exercises (except replaced one subsection, 1.9.2,
on a Python 3.3 bug, shifting some of the info on Idle editing).
June 5. 2014
- Copied Windows Idle link file in examples to www folder.
- Clarified Play Computer Error Exercise
May 28. 2014
Elaborated formatting explanation and issues in
floating point arithmetic section, 1.14.3.
May 26. 2014
Add example polygons.py - regular polygons and stars
May 18. 2014
- Update for Python 3.4.
- Add Windows shortcut for Idle 3.4
January 18. 2014
Normalized picture sizes, particularly in pdf.
May 29. 2013
- Many clarifications and typo fixes in Ch 1
- Additions and clarifications to index
May 9, 2013
- Added Section 1.1.6 Learning to Problem-Solve
- Fixed garbled exercise 2.3.3.1
June 28, 2012
- Added 3.1.6.4, Unique List Exercise
June 5, 2012
- Introduced the optional graphics idea of flushing updates on command.
Two new example variants.
- Added way to get videos from Dropbox - no ID needed.
May 20, 2012
Many updates for Mac
- References to updated document Python On Mac.
- Added Mac info on using Idle and CGI scripts.
- Fixed the Mac bug for the browseLocal function in Chapter 4,
generated files do show automatically in the browser on a Mac.
January 26, 2012
- html version now lets you click the margin between left sidebar and
the main text to toggle showing the sidebar.
January 14, 2012
- Updated some Mac instructions.
- Changed the Mac/Unix script line for cgi files in examples/www
- Replaced the graphics.py version, so it works on a Mac but it does
not work from the Idle shell.
October 19, 2011
- In 4.4.4 added reminders of the final Python videos that do not
exactlt follow the tutorial, but completely build examples.
- Use tempname.html in browseLocal consistently in 4.3 and examples,
rather than confusing special names each time.
October 6, 2011
- Added www example CGIfix.py for Unix derived scripting situations
with cgi files:
Forces Unix newlines, adds script execution path if necesary, and
makes the CGI script executable
September 19, 2011
- Added Text Triangle Exercise 2.4.12.2
- Moved Graduate Exercise to 3.1.4 where it belongs.
- Modified examples wages.py, wages1.py.
September 16, 2011
- Added missing column to table in example playComputerStub.rtf.
Rewrote Play Computer excercises. Lots of typos fixed.
September 9, 2011
- Added examples and exercises in 1.10, 1.11 on the string format
method and functions returning a string formed with the string format
method.
September 1, 2011
- Elaborated example in 2.4.7.
August 25, 2011
- Added a number of exercises in Chapter 3 for if-statements and
while-statements, with a number of example stub files.
- Added example files for cgi script template
- Added links to videos in Google Docs in 1.1.5, including added videos
for the end of Chapter 4, showing a full development of a simple web
application.
June 23, 2011
- Added example and information about tracebacks in 1.11.4.
June 13, 2011
- Fixed bug! My example file types.py renamed types1.py (so does not
conflict with system file types.py).
- Added skeletonForWeb.py and skeletonFor.cgi to www examples.
June 6, 2011
- Elaborated explanations of dynamic web programming in 4.4, and added
to the summary of CGI steps.
June 3, 2011
- Added simpler loop problems to 1.13.4, with accompanying example
files.
- Added data flow figure in chapter 4
May 25, 2011
- Lots of typo fixes while making videos in Chapter 3
- Added example file matching 3.3.3 text: readLines0.py
May 20, 2011
Brought explanation of backAndForth0.py animation up to date.
May 16, 2011
- Added documentation for additions to Zelle's graphics
- Fixed source zip file and reference to it
- Added link for iTunes U videos, now done for about half way through
the tutorial.
May 10, 2011
- Note bug in command line operation of Windows version of 3.1 and 3.2,
to be fixed in 3.2.1 later this month.
- Patched madlib.py temporarily to fix the problem.
- Added Mac specific instructions for donloading the files needed for
Python and for dealing with files in Idle.
March 30, 2011
- Corrected display of return2.py in 1.11.6.
March 27, 2011
- Corrected formatBraces.py and the code copied into the tutorial.
March 10, 2011
- Added Python 3.2 references and Idle shortcuts in examples
March 1, 2011
- bad formatting in 2.1.
- typo in footnote order in 3.1
- Separate Exercise Section for last Exercise 4.4.4.2
January 17, 2011
- got big extra files out of zip files
- few typos in idle.html.
January 13, 2011
- converted .cgi files to Unix format, so they work with my Ubuntu,
*except* for surveyFeedback.cgi - Python 3.1 has a bug in handling
post operations with a local server.
- Made my cgi testing URL accessible.
January 10, 2011
- Got pdf index working.
- Spiffed up pdf tables
January 9, 2011
- fixed some typos from incomplete format conversion.
- Got code coloring working on remaining Python 3 examples.
January 8, 2011
- Conversion from Lyx base to reStructuredText and Sphinx base,
residing now in 3.1 directory (3.0 folder still there).
- Index, Search, and expanded Table of Contents added
- New look for both html and pdf.
- More Exercises and Exercise numbering and naming changed
- Section numbers shifted up in Chapter 4.
- Assorted typos fixed
End of changes to Lyx based 3.0 version in 3.0 folder
February 22, 2010
- Inconsistency in discussion of bounce2.py after incomplete update,
now fixed.
October 1, 2009
- Replaced version 2.6 example file jungle.txt.
- Fixed symbols lyx not put in html: ← ≤ ≥
- typo in example
September 1, 2009
- Slight rewording and typo fixing in loop section of chapter 1.
- Added exercise in chapter 3 to test the assertion of inexactness of
float arithmetic.
August 31, 2009
- Tuple introduction moved consistently to the Loops and Tuples section
of Ch 3. There had been references to the removed sections on the
string % operator.
- Revision of string format section. Other changes for consistency of
format treatment. Removed explicit indices {0} from example files, to
match code changes in the tutorial.
August 23, 2009
- Python 3.1 changed the way floats are displayed as strings so the
section on formatting floating point numbers now shows a more
elaborate illustration of the inexactness of decimal arithmetic.
- Small typos fixed.
August 22, 2009
- Assumes Python 3.1+
- Fixed discrepancies between the tutorial description of madlib.py and
the example file.
- Added string format with position numbers omitted (new in 3.1)
- Adds Zelle's Python 3 graphics package with my __str__ methods.
Though I do not refer to his Image class, there was a bug he fixed.
Zelle adopted a cleaner modification of my getLastMouse that he calls
checkMouse. The tutorial has been changed to match.
- Assorted small typos fixed.
February 28, 2009
- Fixed broken picture display
- Changed references to the range function to indicate it is a sequence
generator. To see the whole sequence displayed in the Shell, you need
list(range(n)), not just range(n).
- Chapter 4: At present the university server is running Python 2.6.
Made the remote cgi script links point to the working versions, not
3.0 versions (output is the same).
- Updated reserved word list to 3.0
December 29, 2008
Changed the beginning of formatting with dictionaries, 1.12.2 so it is
independent of 1.10.4. 1.10.4 with numbered format parameters becomes
optional.
December 28, 2008
Clarifying edits in the sections on formatting with dictionaries, 1.12.2
and 1.12.3.
December 27, 2008
- Changes all over to convert to Python 3.0, though most of the changes
are not conceptual.
- The most significant topical involve making use fo the string format
method introduced in Python 2.6. The use of the % string format
operator has been completely removed. The format with {0}, {1}. {2},
... is initially introduced (later than the string % operator was
introduced before). Later the syntax with dictionary references is
introduced, and later in the tutorial this is widely used with the
dictionary returned by locals(). This involved content changes in a
number of places.
- The incompatible minor language changes were introduced, principally:
- print function rather than statement
- input instead of raw_input, and the old input function gone.
- // for integer division
- There were some other minor changes like a set literal being
displayed with braces.
- Web site URL's were changed to refer to the 3.0 versions of
materials.
- A tool for making Python 3.0 the default under Windows if it is
installed but not the default.
December 2, 2008
WWW examples for Chapter 4: edited commonFormFields.html for further
clarification
October 29, 2008:
Chapter 3:
Added a real-world file processing example at the very end, bbassign.py,
that I use to modify Blackboard assignment downloads.
Chapter 4
Added extra reminders in several of the homework exercises.
Added extra real-world example survey processing programs
September 29, 2008:
Chapter 2:
Added missing example file printFile.py
Chapter 3
Added extra exercise on polygonal paths
Added extra example file bounceWhile.py
September 15, 2008:
Chapter 2:
Added playing computer in 2.2.1, previously referenced but not included.
Modified madlib2.py in 2.3.2 to simplify the changes for the madlib3.py
file exercise.
September 13, 2008:
Fixed one typo that messed up all section numbers in chapter 1 after
1.5.2!
September 9, 2008:
General: fixed typos, misspellings, few words of elaboration...
Chapter 1:
- Section 1.12.4 Added a small section illustrating the result of
incorrect indentation
- Section 1.12.8 More playing computer: clarified exercise
August 24, 2008:
General: fixed typos, misspellings
Chapter 1:
- Section 1.2, 1.3: Expanded the introduction to the mechanics of
dealling with the Shell, moving some explanation back to 1.2 where
the Shell is first referenced.
- Removed links to old flash videos that don't work right with current
Flash
- Refered to new example Windows shortcut file to start Idle for Python
version 2.6 (now Beta) - no other 2.6 accomodations
- Added comments and direct links to downloadable copies of the
Tutorial and this change log.
- Section 1.13.6 Successive modification loops: added intermediate
example to the enumeration loop topic
Aug 18, 2008
Chapter 2:
Moved major pieces of the string sections around + small change in
graphics
- Section 1: OO notiation to the beginning, followed by all the basic
string methods, including split and join. This way you can start on
OO notation and then skip right to graphics if you like, or go on to
the rest of the basic string operations and skip the harder string
processing in the revised mad lib program.
- Section 2-3: Split the mad lib section into two main sections, with
the material on appending to lists and the intro to sets into the
separate section 2.
- Now the challenging string processing needed for the revised mad lib
is in the last section on strings.
- Section 4: Graphics Simplified the final animation example
Chapter 3:
Revised the introduction to a for-loop for a list of tuples in
chooseButton2.py
Aug 14, 2008
Chapter 1:
- Much more playing computer and not all concentrated at the end, so it
is illustrated with some of the initial examples. Reduced the
complexity of the nested function call example.
- Reworking of the format string section.
- Moved the explanation of the fonts in syntax pattern earlier,
changing the section numbers!