You are on page 1of 3

Python Review...

Victor Miclovich

November 4, 2009

Noise
• What’s happening?

• I expect lots of questions by now... including working programs which


non of you has ever sent me

Select Exercises
• functions... we are all going to design functions

– A recursive function of your choice; check http://wikipedia.org


if you don’t know any... The aim of this exercise is to see you
design functions from observing math!

f (x) = x(x − 1)!, 0! = 1 ∀x ⊂ Z

• Classful programming: but first, a re-discussion of procedural pro-


gramming

Introduction to Scientific computing with Python

C = 21
F = ( 9 / 5 ) ∗C + 32
print F
1

If you have done some C programming... we could have written:


#include <s t d i o . h>
int main ( ) {
int C = 2 1 ;
int F = ( 9 / 5 ) ∗ C + 3 2 ;
1
This is integer division... for practice, force it to be true division

1
p r i n t f ( ”F i s %f ” ,F ) ;
return 0 ;
}
I will show you guys two examples (C and Python)... I guess it is because
I want you guys to get used to multi-language programming. Later, you
might have to extend the power of a program by writing using a faster
language.
Problems
Using the squareroot function2 .
Consider the vertical motion of a ball. How much time does it take for the
ball to reach the height yc ? The answer is straightforward. When y = yc we
have
1
yc = v0 t − gt2
2
That equation is a quadratic function... which we solve with respect to t.
Rearranging we have:
1 2
gt − v0 t + yc = 0
2
And using the well-known formula3 for the two solutions of a quadratic
equation, we find
 p   p 
v0 − vo2 − 2gyc v0 + v02 − 2gyc
t1 = , t2 =
g g
There are two solutions because the ball reaches the height yc on its way up
(t = t1 ) and on its way down (t = t2 > t1 ).

The Python program??? We can use functions found in the math library
v0 = 5
g = 9.81
yc = 0 . 2
import math
t 1 = ( v0 − math . s q r t ( v0 ∗∗2 − 2∗ g∗ yc ) ) / g
t 2 = ( v0 + math . s q r t ( v0 ∗∗2 − 2∗ g∗ yc ) ) / g
p r i n t ’ At t=%g s and %g s , t h e h e i g h t i s %g m’ % ( t1 , t2 , yc )
The output from this program is
At t=0.0417064 s and 0.977662 s, the height is 0.2 m.
2

>>>import math
>>>math.sqrt(4)
3
buffalo method

2
Importing modules in Python
Modules are just collections of functions and hence also known as libraries;
We can import like sos...
import math
and then access individual functions in the module with the module name
as prefix as in
x = math . s q r t ( y )
The other alternative is to import only the functions that you want...
from math import s q r t
# you can a l s o import e v e r y t h i n g
from math import ∗
4

4
When you import everything, you may just write function names including the argu-
ments/values everything function takes as input

You might also like