2. Functions and Modules


In this chapter, we consider a concept that has as profound an impact on control flow as do conditionals and loops: the function, which allows us to transfer control back and forth between different pieces of code. Functions are important because they allow us to clearly separate tasks within a program and because they provide a general mechanism that enables us to reuse code.


Python Programs in this Chapter

Below is a list of Python programs and data files used in this chapter.

REF PROGRAM DESCRIPTION DATA
2.1.1 harmonicf.py harmonic numbers (revisited) –
2.1.2 gauss.py Gaussian functions –
2.1.3 coupon.py coupon collector (revisited) –
2.1.4 playthattunedeluxe.py play that tune (revisited) elise.txt  ascale.txt  stairwaytoheaven.txt  entertainer.txt  firstcut.txt  freebird.txt  looney.txt  
2.2.1 gaussian.py Gaussian functions module –
2.2.2 gaussiantable.py sample Gaussian client –
2.2.3 sierpinski.py Sierpinski triangle –
2.2.4 ifs.py iterated function systems sierpinski.txt  barnsley.txt  coral.txt  culcita.txt  cyclosorus.txt  dragon.txt  fishbone.txt  floor.txt  koch.txt  spiral.txt  swirl.txt  tree.txt  zigzag.txt  
2.2.5 bernoulli.py Bernoulli trials –
2.3.1 euclid.py Euclid's algorithm –
2.3.2 towersofhanoi.py towers of Hanoi –
2.3.3 beckett.py Gray code –
2.3.4 htree.py recursive graphics –
2.3.5 brownian.py Brownian bridge –
2.4.1 percolationv.py vertical percolation detection test5.txt  test8.txt  
2.4.2 percolationio.py percolation support functions –
2.4.3 visualizev.py vertical percolation visualization client –
2.4.4 estimatev.py vertical percolation probability estimate –
2.4.5 percolation.py percolation detection test5.txt  test8.txt  
2.4.6 visualize.py percolation visualization client –
2.4.7 estimate.py percolation probability estimate –