Intro to
Programming
with Python

Fall 2010
course
navigation

sep 9

Assignments? Please *do* submit on the webpage. (You get a grade for number turned in, eh?)
Discussed briefly last class :
Next assignment is posted; discuss briefly what it is.
For the rest, we'll see how far we get. Please interrupt with questions.

chapter 2 material

software development cycle
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)
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.)

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
http://cs.marlboro.edu/ courses/ fall2010/python/ notes/ sep_9
last modified Wednesday September 8 2010 11:41 pm EDT