Intro to
Programming
with Python

Fall 2012
course
navigation

Sep 6

Questions?
Next assignment, from chap 2 & 3, is posted (due Tuesday).

chap 1 homework

Talk about and when to turn in work - several of you had not turned things in by last night.
Discuss. I'll run the attached plot_chaos.py as a demo.

chap 2

software development cycle
Discuss the temperature_convert program.
first_name # underbar convention FirstName # camelcase convention 3people # WRONG - can't start with number site43_bldg2 # OK - can have embedded numbers n="Jim Mahoney" # BAD - later will be hard to tell 'n' means. $ python >>> type(1) <type 'int'> >>> type(1.0) <type 'float'>
$ python >>> a = 1,2,3 (1, 2, 3)
>>> a * 2 >>> 2 * a >>> a + 2 >>> 2 + a >>> type(a)
a = input("What is a? ") print "OK, a is ", a
(We'll look at various sorts of inputs and outputs in more detail later.)
Aside: the "print" statement in python, parens, and what it can be confusing.
interest_rate = 3.0 # percent start_amount = amount = 100.00 periods = 10 for i in range(periods): amount = amount * (1 + interest_rate/100.0) print amount, " at ", \ interest_rate, "% ", \ periods, " times is ", amount # (The "\" character at the end of a line # continues it on the next line.)
We will look at the pieces of this more carefully soon; for now, the point is to have a first exposure and to get the general idea. We'll continue to fill in the details and go over specific pieces, like range().

chapter 3

>>> 0.3 0.29999999999999999 >>> 2**10, 2**20, 2**30, 2**40 (1024, 1048576, 1073741824, 1099511627776L)
(Notice the "L" at the end of the last number: that's a new "long" type.)
Discussion: why is the switch near 2**30 ? why not always use "long" types for integers? why have different storage for floats and ints?

math library

First a bit about names, namespaces, and dir()
$ python >>> dir() # what ['__builtins__', '__doc__', '__name__'] >>> dir(__builtins__) ... long list of built-in things ... >>> from math import * >>> dir() ['__builtins__', '__doc__', '__name__', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh']
The math functions like sin(), cos(), sqrt(), aren't available in python by default. Instead, you must "import" them from a "module" called "math".
The book does this instead :
>>> import math >>> math.sqrt(3.0)
which leaves things from the math module with "math." before their names. If you do things that way, sin(pi/2) is math.sin(math.pi/2).

accumulating results in a loop

sum = 0 numbers = [1, 10, 20, 18, 17, 34, 22] for number in numbers: sum = sum + number print "The sum is ", sum
Look at this carefully to understand what's going on. In class: run this. Then put in more print statements to see exactly what is going on during the loop. (The loop is the "for" statement and the indented part after it.)
http://cs.marlboro.edu/ courses/ fall2012/python/ notes/ Sep_6
last modified Wednesday September 5 2012 10:14 pm EDT

attachments [paper clip]

     name last modified size
   plot_chaos.py Sep 5 2012 9:42 pm 1.40kB