Python X

Mary PW Chin 钱碧慧博士
PhD (Wales), MSc (Surrey)
E-mail:

1st bite of Python

Printing

2nd bite of Python

Loops

3rd bite of Python

If-elif-else

4th bite of Python

Nested loops

5th bite of Python

Input, while, tables

6th bite of Python

Strings

7th bite of Python

Simple maths

8th bite of Python

More loops

9th bite of Python

Dictionaries

10th bite of Python

Drawing

11th bite of Python

Statistics & histograms

12th bite of Python

Pretty nets

13th bite of Python

Medical scans

14th bite of Python

Handwriting recognition

15th bite of Python

Flower recognition

Drawing six faces of dice

Slides here are continuously being revised and updated. If you have been here before, your browser might have some old files cached. To ensure that you see the latest version, please follow the instructions given in the following link: ☞ how to clear browser cache.

Synopsis
  1. Module matplotlib, its class Circle and its method subplots;
  2. module sys;
  3. module numpy and its methods: floor and ceil;
  4. colours;
  5. saving plots to file;
  6. more number sequences;
  7. runtime input from keyboard (standard input):
    • by passing arguments;
    • by interactive input;
  8. arrays;
  9. while;
  10. storing values before they get overwritten.

Do not forget

For every program you encounter it is always an excellent exercise to change the variable names to names which are most meaningful to you, then make the program run. You will gain deeper understanding of the program. You will see the program in a new light. Everyone is different: variable names most intuitive to me differ from variable names most intuitive to you. My programs are written with variable names most intuitive to me, so you should change them to names most intuitive to you so that the program flow becomes more obvious.

For every program you encounter you should be able to

  1. Identify parts you may change:
    • variables;
    • arrays;
    • arguments.
  2. Identify parts you may not change:
    • imported modules and methods;
    • functions and keywords.
  3. List the exact order line by line how Python executes the program.
  4. Draw the flowchart.

Exercise
  1. Refer to program version #1 from the slides. What happens if we move line #10 to
    • the line before line #3?
    • the line before line #19?
    • the line after line #19?
  2. Refer to program version #1 from the slides. What happens if we move lines #12-#17 to the line before line #3?
  3. Mark out the:
    • variable names;
    • arguments;
    • functions;
    • keywords;
    • modules;
    • methods.
    on program versions #4, #5, #7, #8, #9, #10, #11, #12 and #13.
  4. Draw the flowchart for program versions #8 and #12.
  5. In this lesson we made 12 revisions to the program. Summarise the improvement in each version in a 3-column table:
    versionimprovement in plain Englishtechnical modification in Python
    #1 to #2
    #2 to #3
    #3 to #4
    #12 to #13
  6. Write a program that prints the following with as few repetitions as you can:
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
                 .o.o.o.o.o.o.o.o.o.o
              
  7. Write a program that prints the following with as few repetitions as you can:
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
                 .ox.ox.ox.ox.ox.ox.ox
              
  8. Write a program that prints the following with as few repetitions as you can:
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
                 .ooxxx.ooxxx.ooxxx
              

External goodies

Pyplot tutorial

1st bite of Python

Printing

2nd bite of Python

Loops

3rd bite of Python

If-elif-else

4th bite of Python

Nested loops

5th bite of Python

Input, while, tables

6th bite of Python

Strings

7th bite of Python

Simple maths

8th bite of Python

More loops

9th bite of Python

Dictionaries

10th bite of Python

Drawing

11th bite of Python

Statistics & histograms

12th bite of Python

Pretty nets

13th bite of Python

Medical scans

14th bite of Python

Handwriting recognition

15th bite of Python

Flower recognition