Transcript powerpoint
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