powerpoint

advertisement
Python

By: Ben Blake, Andrew Dzambo, Paul Flanagan
General Programming Tips







Spacing
Comments
Header
Consistency with variables – keep it simple
Set all variables equal to zero initially
Notes on changes to code – version control
Good formatting example:
http://www.personal.psu.edu/amd5554/resources/documented_c
ode.pdf
Python Basics



Declaring variables – don't need to create variable initially
Indenting in loops – no end statement
Capitalization matters – Temp, temp, tEmp, TEMP are all
different variables
Numerical Arithmetic

Mathematical expressions are the same






+ Addition
- Subtraction
* Multiplication
/ Division
** Exponentiation
9.8E-8 = 9.8 * (10 ** (-8))
Math Functions

Built-in functions


Imported functions


float, int, max, min, abs
sin, cos, tan, asin, acos, atan, log (natural log), log10 (base 10 log),
exp, sqrt, pi, e
Trigonometric functions work exclusively in radians



k = m.cos(a * m.pi / 180.0)
degrad = m.pi / 180.0
k = m.cos(a * degrad)
Importing



Some commands/functions need to be imported in order to be
used
Some libraries that can be imported: math, numpy, pylab
Different ways to import


from math import cos, sin, acos, pi
import math


k = math.cos(a * m.pi / 180.0)
import math as m

k = m.cos(a * m.pi / 180.0)
Shortcut Operators




Linecount += 1
Average /= linecount
Balance -= payment
Population *= growth
==>
==>
==>
==>
linecount = linecount + 1
average = average / linecount
balance = balance – payment
population = population * growth
Input/Output




Need to distinguish between read-only (input) files and
writeable (output) files
“r” = read-only, “w” = writeable
infile = open(“weather.csv”, “r”)
outfile = open(“pressure.txt”, “w”)
Using Input/Output Files

Reading input files



vap_list = infile.readlines()
for vaporpressure in vap_list:
Print statements


Print >> outfile, x, y, vaporpressure
If a number immediately follows the %, it is the width (in spaces) of
the field in which the object will be written

Print ‘%4f’ % x, ‘%4f’ % y  this will print x and y as floating point
numbers over 4 spaces
Loops
Types: for, if, while loops

Indenting denotes code is in loop

To close loop, unindent the next line

Example of a simple loop - counts # of x's in xlist
for x in xlist:

y += 1
print y
For Loops
Determinant loop – use when you know how long you want the
program to run

Similar to the “do loop” in ForTran and C++

Two examples of for loops – can use either an input file or an
array
for station in stations:
for k in range(n):

If Loops
Used to make logical decisions

Can be imbedded inside for loops
if logical_expression_1:

# do this block when logical_expression_1 is true
elif logical_expression_2:
# do this block when logical_expression_2 is true
else:
# do this block when neither logical expression above is true
Logical Expressions in
Python

Comparisons of one variable to another or to a constant using
comparison operators






== equals
< less than
<= less than or equal to
!= not equals
> greater than
>= greater than or equal to
While Loops
Indeterminant loop – use when duration of loop is unknown

Can be imbedded inside for loops

General while loop structure
while logical_expression:

# statements to run as long as logical_expression stays true
Break Statement
Can use to terminate a loop or part of a specific loop if a
statement becomes true

Example of how break statement is used
x=0
for x in xlist:

if x >= 40:
x += 1
break
else:
x += 1
Lists
•
•
•
Collection of strings, floating point numbers, or integers listed in
some order
Arrays are special form of list in which all elements are of same
data type
Numeric Python module (numpy) is used to work with arrays
List Operators
List – create a defined list-type object
•
•
Range – returns list of integers in specified
range – important in for loops
•
•
•
range(4) returns [0, 1, 2, 3]
range (2,4) returns [2, 3]
Len – counts how many numbers are in a list
•
•
•
x = list([4.0, ‘Hypsometric’, 34])
len(range(2,4)) produces a value of 2
Sum – adds up the numbers in a list
Line Splitting
Input files consists of strings which can be
split into component strings and then
converted into numbers
Split method is used to break strings into more
useful components
Default separator is a blank space, but
separators can be anything, such as , : ; / Line splitting most useful when done inside a
loop
•
•
•
•
•
•
Line = “32, 32.4, 36.8, Freezing Points”
q = float(line.split(“,”)[2]) = 36.8
Download