tm 331: computer programming introduction to class, introduction to programming

91
TM 331: Computer Programming Introduction to Class, Introduction to Programming

Upload: ross-briggs

Post on 25-Dec-2015

243 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TM 331: Computer Programming Introduction to Class, Introduction to Programming

TM 331: Computer Programming

Introduction to Class,Introduction to Programming

Page 2: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Outline for Today

Course Description– What material will we cover?– What am I getting myself into?

Administrative Issues– Course Web Page, Text Book, Exams, Office Hours, Homework,

Grading, etc. Syllabus Intro. to Programming Languages and Python Reading

– Section 1 of the text. First assignment – Exercises at the end of Section 1 (page

16).

2

Page 3: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Catalog Description

Study of computing systems manipulation using a current programming language. Includes input/output techniques, program processing control, file processing and database interfacing.

3

Page 4: TM 331: Computer Programming Introduction to Class, Introduction to Programming

What the class is really about

There are three main goals of this course:1. Basics of Python2. Core Concepts of Programming

Languages3. Using programming to solve mathematics

and science problems

4

Page 5: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Basics of Python

Python is a popular programming language, with an emphasis on readability. We will learn all the specifics of how to program in Python. This includes all the peculiar rules that are specific to Python. We will cover the fundamentals: Variables, Arithmetic, If / Else, For Loops, While Loops, Arrays, Methods, etc.

5

Page 6: TM 331: Computer Programming Introduction to Class, Introduction to Programming

An Example

/* Sample Python Program */

i = 1while i <=10:print ii += 1

This program counts from 1 to 10. In a few weeks all of the details, including the colon and the indention, will make sense.

6

Page 7: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Concepts of all Programming Languages

There are many programming languages available: Python, Java, C, C++, etc.

All of these languages share core concepts. By focusing on these concepts, you are better able

to learn any programming language. Hence, by learning Python, you are poised to

learn other languages, such as C++ or Java. Note: Python is an object oriented programming

(OOP) language. However, we won’t be discussing this aspect very much.

7

Page 8: TM 331: Computer Programming Introduction to Class, Introduction to Programming

An Example: For Loops

Python has a construct called a for loop that enables a program to repeat actions over and over. Most other languages also have a for loop. Hence, by learning about for loops in Python, you can easily learn for loops in Java or C.

8

Page 9: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Comparing For Loops

# Sample Python# for Loop

for i in range(10):print i+1

/* Sample JavaScript for Loop */

var i;for (i = 1;i < 11;i++) { console.log(i); }

9

Both of these also count from 1 to 10. Compare the readability of Python vs. JavaScript.

Page 10: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Course Web Site Course web site is available at: http://www.piedmont.edu/math/jroberts/teaching/tm331s13.html

Web site contains the following information:– Course Syllabus– Class text– Homework assignments– Class notes– Class programs

10

Page 11: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 1 : Why Program?

Our primary motivation is to be more productive in handling data and info

Most of us are “end-users” of programs on computers, phones, etc.

By the end of this course, you will be on your way to being the programmer and the end-user.

11

Page 12: TM 331: Computer Programming Introduction to Class, Introduction to Programming

1.2 - Computer Hardware

12

• CPU – Always asking “What’s next?” 1.0 Gigahertz = “what’s next” 1 billion times per second

• Main memory – store info computer needs quickly. Gone when computer is turned off.

• Secondary Memory – Slower to access than main memory, but stays even without power.

• I/O devices – Screen, keyboard, etc. Ways to interact with the computer

• Network – Can be thought of as a slower, unreliable form of secondary memory.

Page 13: TM 331: Computer Programming Introduction to Class, Introduction to Programming

13

• Programmers answer the CPU’s “What next?” question.

• You may talk to the CPU and tell it to use the main memory to do something.

• The instructions to the CPU is a program.

Page 14: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Hardware Trends

Every year or two the following approximately double (Moore’s Law):– Amount of memory in which to execute programs– Amount of secondary storage (such as disk storage)

Used to hold programs and data over the longer term

– Processor speeds The speeds at which computers execute their programs

14

Page 15: TM 331: Computer Programming Introduction to Class, Introduction to Programming

1.4 - Programming – VocabularyVocabulary to talk to CPUPython’s vocabulary is small – reserved

words like and, for, elif, try.Writing programs involves teaching

Python new words, variables.Cannot use reserved words as variables.

15

Page 16: TM 331: Computer Programming Introduction to Class, Introduction to Programming

1.5 - Programming - Language

Simply sing the correct vocabulary is not enough.

We must speak in a language Python understands.

>>>I come in peace, take me to your leader

Syntax error!

>>>print ‘I come in peace, take me to your leader’

16

Page 17: TM 331: Computer Programming Introduction to Class, Introduction to Programming

If you use a word that is not a reserved word and not declared to be a variable, Python will give you a Name Error.

>>>good-bye

17

Page 18: TM 331: Computer Programming Introduction to Class, Introduction to Programming

1.6 - Interpreters and CompilersComputers cannot understand human-

language. They understand machine-language.

Machine-language is all ones and zeros.To get a computer to understand a high-

level language like Python, we have to translate.

18

Page 19: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Interpreters

The first type of translator is an interpreter.

Interpreters read the source-code a programmer writes, parses the code, and interprets it on-the-fly.

Interpreters can be interactive.Python is an interpreter.

19

Page 20: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Example

>>> x = 6>>> print x

>>> y = x * 7>>> print y

20

Page 21: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Compilers

Compilers need to have the entire program written into a file. It runs a process to convert the program to machine-language, and saves this for later use.

File extensions such as “.exe” (executable) and “.dll” (dynamically loadable library) are examples.

C is a compiled language.

21

Page 22: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Rest of Today

Work through the rest of Section 1Begin Homework problems

22

Page 23: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 2 and 3 were presented in lecture format in the classroom.

23

Page 24: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 4: Functions

A function is a named sequence of statements that performs computations.

You ‘call’ the function by name.

>>>type(32)<type ‘int’>

The function name is type.24

Page 25: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Functions take arguments and returns a result.

>>>type(32)<type ‘int’>

In this case, type takes the argument 32 has a return value of int.

25

Page 26: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.2 - Built in Functions

max and min of a list>>> max('Hello world')>>> min('Hello world')

Length function>>> len('Hello world')>>> len([1,2,3])>>> len(125)

26

Page 27: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.3 - Type conversion - int()

Value to integer>>> int('32')>>> int('Hello')

Doesn’t round floats>>> int(3.99999)>>> int(-2.3)

27

Page 28: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Type conversion – float()& str()

float() converts integers and strings to floating point numbers

>>> int(-2.3)>>> float('3.14159')

str() converts its argument to a string>>> str(32)>>> str(3.14159)

28

Page 29: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.4 - Random numbers

Programs that generate the same output every time are deterministic.

Truly nondeterministic programs are hard to make.

Most of the time we use pseudorandom numbers.

29

Page 30: TM 331: Computer Programming Introduction to Class, Introduction to Programming

random module

The module random generates (pseudo) random numbers.

random returns a floating point greater than or equal to 0.0 and strictly less than 1.0.

import random

for i in range(10):x = random.random()print x

30

Page 31: TM 331: Computer Programming Introduction to Class, Introduction to Programming

More randomness

Other options for random numbers are random integers between two other integers

>>> random.randint(5, 10)

Choosing a random element of a list>>> t = [1, 2, 3]>>> random.choice(t)

31

Page 32: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.5 - Math Functions

Go ahead and import the math module

>>> import math

>>> print math

>>> help(math)

32

Page 33: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Python math documentation

.

http://docs.python.org/2/library/math.html

33

Page 34: TM 331: Computer Programming Introduction to Class, Introduction to Programming

As with the random module, we have to use dot notation to call math functions.

>>> radians = 0.7>>> height = math.sin(radians)

>>> math.pi

34

Page 35: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Recall to convert from degrees to radians, divide by 360 and multiply by 2pi.

>>> degrees = 45>>> radians = degrees / 360.0 * 2 * math.pi>>> math.sin(radians)

35

Page 36: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Digression on Scripts and DirectoriesGo to Start – All Programs – Python 2.7 –

IDLE (Python GUI) This opens the Python Shell, which looks a

lot like the command line interface.Instead of ‘arrow up’ and ‘arrow down’

giving the history, you can use alt-p for ‘previous’ and alt-n for ‘next.’

(Or you can just remap the keys in Options)

36

Page 37: TM 331: Computer Programming Introduction to Class, Introduction to Programming

The advantage to using the shell is that you have a nice scripting program nearby.

In the shell, click File – New Window (or hit ctrl-n)

This opens a new window inside the Python GUI

We can use this to type long (or short) sequences of code to be used again and again.

37

Page 38: TM 331: Computer Programming Introduction to Class, Introduction to Programming

In the new windows enter the following commands (with no indentation)

hi = “Hello world!”print hi

Run the program by clicking Run – Run Module or by hitting F5.

You’re asked to save the file first. For now save it in the default directory as ‘hello.py’

Run in shell with >>>execfile(‘hello.py’)

38

Page 39: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Storing Class Files in SkyDrive

Navigate to www.skydrive.live.com.Log in with your lions email and

password.Create a folder to store all your Python

scripts for this class.Make a new folder on the Desktop and

name it Python.

39

Page 40: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Go back to the edit window in Python and save the ‘hello.py’ file into the ‘Python’ folder on the Desktop.’

In the Python shell, File – Open and navigate to the ‘hello.py’ file in the ‘Python’ folder.

The ‘Python’ folder is now your current working directory. Anything you save will save here and execfile() will run files from here.

Now any work you do can be uploaded/dowloaded to/from SkyDrive.

40

Page 41: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.6 - Creating New FunctionsIn a new edit window in Python, type the

following code:

Def print_lyrics(): print “I’m a lumberjack and I’m okay.” print ‘I sleep all night and I work all day.’

(Notice the use of quotation marks.)(Scripting in IDLE isn’t the best thing to do.

We’ll learn better ways later.)41

Page 42: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Run the function with F5 (and save it into your desktop Python folder).

On the shell, check the type of the function you just created.

>>>type(print_lyrics)

42

Page 43: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Once functions are defined, you can use them in other functions. From the shell

def repeat_lyrics(): print_lyrics() print_lyrics()

Call the function with repeat_lyrics()

43

Page 44: TM 331: Computer Programming Introduction to Class, Introduction to Programming

4.9 - Parameters and ArgumentsIn the edit window or the shell, enterdef print_twice(bruce): print bruce print bruce

Putting something inside the parenthesis tells Python that our function takes an argument.

44

Page 45: TM 331: Computer Programming Introduction to Class, Introduction to Programming

The function works with anything that can be printed.

print_twice(‘Hello world!’)print_twice(17)print_twice(‘Hi’*4)

import mathprint_twice(math.sin(math.pi/2))

We can use variables in functions.montyPython = ‘A funny show.’print_twice(montyPython)

45

Page 46: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Quiz on Section 4.10 on Tuesday

46

Page 47: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 5: Iteration

It’s common to update assignments of variables in terms of the variables themselves.

>>> x = x+1We have to initialize the variable first.>>> x = 0>>> x = x+1>>> x

47

ADDING 1 IS CALLED AN INCREMENT,

SUBTRACTING 1 IS CALLED A

DECREMENT

Page 48: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.2 – The while statement

Computers are good at automated repetitive tasks. People aren’t.

Using while is one type of iteration.

n = 5while n > 0:

print nn = n-1

print 'Blastoff!'

48

Pay attention to the indentation.

Page 49: TM 331: Computer Programming Introduction to Class, Introduction to Programming

49

while [condition]: [action if true][action if false]

(Note the possible looping behavior)

Page 50: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.3 – Infinite Loops

while True:

print “I can’t stop!”print ‘Help!’

You can kill the loop with ctl-c.

50

Page 51: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.4 – breaking infinite loops

You may want an infinite loop on purpose and use break to get out of the loop.

Look at the following code that keeps asking for input until the user types done.

while True: newLine = raw_input(‘=>’) if newLine == ‘done’:

break print newLineprint ‘Done!’

51

Page 52: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.5 – Finishing iterations with continueIf you are in an iteration and want to finish

the current one and jump straight to the next, you can use continue to skip the next iteration.

The next example copies the user’s input until the user types ‘done’, but lines that start with a hashtag aren’t printed.

52

Page 53: TM 331: Computer Programming Introduction to Class, Introduction to Programming

while True: newLine = raw_input(‘=> ') if newLine[0] == '#' :

continue if newLine == 'done':

break print newLine

print 'Done!'

53

Page 54: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.6 – Loops using for

The while loop is an indefinite loop; it loops until a condition is False.

If we have a list or set of things to loop through, we construct a definite for loop.

actors = [‘Denzel’, ‘Harrison’, ‘Sean’]for actor in actors: print actor + ‘: I love his movies!’

print ‘Done!’

54

Page 55: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Denzel: I love his movies!Harrison: I love his movies!Sean: I love his movies!Done!

The variable actors is a list of three strings and the for loop goes through the list and executes the body once for each of the strings.

55

Page 56: TM 331: Computer Programming Introduction to Class, Introduction to Programming

56

for [var] in [list]: [statement(s)]

(Note the indentation and the looping behavior.)

for and in are reserved wordsin Python.

Page 57: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.7 – Loop patterns

Many times we use loops to go through a list or file searching for something like the largest or smallest value of a data set.1. Initialize one or more variables before the

loop starts.

2. Perform a computation on each item in loop body, maybe changing the variables.

3. Look at the resulting variables when the loop completes.

57

Page 58: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.7.1 – Counting & Summing Loops

To count the number of items in a list, we could write this for loop.

count = 0for itervar in [3, 41, 12, 9, 74, 15]:count = count + 1

print ‘Count: ‘, count

58

Page 59: TM 331: Computer Programming Introduction to Class, Introduction to Programming

A similar loop that finds the total of a set of numbers.

total = 0for itervar in [3, 41, 12, 9, 74, 15]:total = total + itervar

Print ‘Total: ‘, total Our counting and summing loops aren’t really that

useful in practice. The built in function len() counts the number of items in a list and sum()computes the total of the items in a list.

59

Page 60: TM 331: Computer Programming Introduction to Class, Introduction to Programming

5.7.2 – Maximum & Minimum loops

largest = Noneprint ‘Before:’, largestfor itervar in [3, 41, 12, 9, 74, 15]:if largest is None or itervar > largest:

largest = itervarprint ‘Loop: ‘, itervar, largest

print ‘Largest: ‘, largest

60

Page 61: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Before: NoneLoop: 3 3Loop: 41 41Loop: 12 41Loop: 9 41Loop: 74 74Loop: 15 74Largest: 74

61

Page 62: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Daily Grade

Write a similar function that finds the smallest of a list of numbers.

62

Page 63: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 6 was presented inlecture format in the classroom.

63

Page 64: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Chapter 7

Recall our earlier diagram of a computer.

64

Page 65: TM 331: Computer Programming Introduction to Class, Introduction to Programming

We’ve been writing programs to communicate with the CPU.

Most of the time we restricted ourselves to the Main Memory.

But anything in the Main Memory is lost when the power is cut off.

In this section, we’ll start using Secondary Memory more and more.

We’re going to write and edit our files in Notepad++ and run Python in the terminal window.

65

Page 66: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Remember SkyDrive

Navigate to www.skydrive.live.com.Log in with your lions email and

password.Create a folder to store all your Python

scripts for this class.Make a new folder on the Desktop (or

wherever) and name it ‘Python’.

66

Page 67: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Open Notepad++ and make a simple Python file.

name = raw_input(“What’s your name?\n”)print “Nice to meet you, “ + name + “!”

Save this file as hello.py in your previously created directory.

Start Run cmd

67

Page 68: TM 331: Computer Programming Introduction to Class, Introduction to Programming

(Windows) Terminal CommandsWhen in the command prompt (or

terminal), we need to be able to navigate to different files and folders.

See handout for some commands.• cd – change directory• dir – List files & folders in a directory

• Navigate to your Python directory.python hello.py

• Start Python, then …. execfile(‘hello.py’)

68

Page 69: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.2 – Opening filesSave the file at

www.py4inf.com/code/mbox.txt to your Python folder.

>>> fhand = open(‘mbox.txt’)>>> print fhand

We have a file handle in read only mode, not the actual data in the text file.

69

Page 70: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.3 – Text files and lines

A text file is a sequence of lines similar to how a Python string is a sequence of characters.

Open mbox.txt in Notepad++.The is broken into lines by the newline

character that just means “end of the line”.Represented in Python by \n.In strings, \n counts as a character.

70

Page 71: TM 331: Computer Programming Introduction to Class, Introduction to Programming

>>> stuff = ‘Hello\nworld!”>>> stuff‘Hello\nworld!’>>> print stuffHelloworld!>>> stuff = ‘X\nY’>>>print stuffXY>>>len(stuff)3

71

Page 72: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.4 – Reading FilesWhile a file handle doesn’t contain the

data for the file, we can use it get information.

In Notepad++ save this as open.py.fhand = open(‘mbox.txt’)count = 0for line in fhand:count = count + 1

print ‘Line count:’, count72

Page 73: TM 331: Computer Programming Introduction to Class, Introduction to Programming

In Python, >>> execfile(‘open.py’)

Quit Python with the command quit()

From command prompt, python open.py

73

Page 74: TM 331: Computer Programming Introduction to Class, Introduction to Programming

fhand = open(‘mbox.txt’)count = 0for line in fhand:count = count + 1

print ‘Line count:’, count

Using for on a text file loops through the lines of the file.

74

Page 75: TM 331: Computer Programming Introduction to Class, Introduction to Programming

This is an efficient way to get info about the text file.

The loop doesn’t read the entire file at once (which may be LARGE).

It reads a line, adds 1 to count and then forgets that line from main memory.

Modern data sets can contain terabytes of information, so you wouldn’t (or couldn’t) store them in main memory.

75

Page 76: TM 331: Computer Programming Introduction to Class, Introduction to Programming

If you know your file is relatively small, you can store all of it into main memory with the read method.

Download and save the file at www.py4inf.com/code/mbox-short.txt

>>> fhand = open(‘mbox-short.txt’)>>> inp = fhand.read()>>> print len(inp)94626>>>print inp[:20]From stephen.marquar

76

Page 77: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Only use open and read in this way if you know the file will fit into comfortably in the main memory of your computer.

Otherwise, use for or while loops and read the file in chunks.

77

Page 78: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.5 – Searching through a file

We can use the string method startswith to find specific lines from files.

The code below prints out only the lines that begin with “From:”.

fhand =open(‘mbox-short.txt’)for line in fhand:if line.startswith(‘From:’):

print line

78

Page 79: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Notice that your output has blank lines between the printed line.

This is due the hidden newline character.The print command prints the lines in

the string, which include a newline at the end, but then print adds another newline.

One way to fix this is to use string slicing to remove the last character from each line.

The method rstrip works better.

79

Page 80: TM 331: Computer Programming Introduction to Class, Introduction to Programming

The rstrip method strips whitespace from the right side of a string.

fhand = open(‘mbox-short.txt’)for line in fhand:line = line.rstrip()if line.startswith(‘From:’):

print line

80

Page 81: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Using continueAn alternative way to do the same thing

that is sometimes useful is continue.fhand = open(‘mbox-short.txt’)for line in fhand:line = line.rstrip()#Skips uninteresting linesif not line.startswith(‘From:’):

continue#Process interesting linesprint line

81

Page 82: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Searching through text

The string method find can be used search for a string in lines of a file

The find method looks for an occurrence of a string and returns position of the string or returns -1 if it’s not found.

The next bit of code looks for lines that contain the string ‘@uct.ac.za’.

82

Page 83: TM 331: Computer Programming Introduction to Class, Introduction to Programming

fhand = open(‘mbox-short.txt’)for line in fhand:line = line.rstrip()if line.find(‘@uct.ac.za’) == -1:

continueprint line

83

Page 84: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.6 – User chooses filename

In practice, we wouldn’t write the name of every text file into a different file.

fname = raw_input(‘Enter the filename: ‘)fhand = open(‘fname’)count = 0for line in fhand:

if line.startswith(‘Subject:’) :count = count + 1

print ‘There were’, count, ‘subject lines in’, fname

84

Page 85: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Save this previous code as search6.py and execute the file.

When prompted, enter the file name mbox.txt

Run it again with mbox-short.txt

Question: What could possibly go wrong?

85

Page 86: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.7 – Using try, except, and openTry executing that code again and entering

a file that doesn’t exist or a gibberish name.

We can fix this using a try/except combo.

86

Page 87: TM 331: Computer Programming Introduction to Class, Introduction to Programming

fname = raw_input(‘Enter the file name: ‘)try:fname = open(fname)

except:print ‘File cannot be opened:’, fnameexit()

count = 0for line in fhand:if line.startswith(‘Subject:’):

count = count + 1print ‘There were’, count, ‘subject lines in’, fname

87

Page 88: TM 331: Computer Programming Introduction to Class, Introduction to Programming

The exit function

The exit function used above terminates the program at that point.

This function never returns.Try executing the function again with bad

or gibberish file names.

88

Page 89: TM 331: Computer Programming Introduction to Class, Introduction to Programming

7.8 – Writing FilesIf we want to write onto a file, we open it

in with ‘w’ as a second parameter.

>>> fout = open(‘output.txt’, ‘w’)>>> print fout<open file ‘output.txt’, mode ‘w’ at #####>

Careful! If the file exists, opening it in write mode clears the file.

Otherwise, it creates a new file.89

Page 90: TM 331: Computer Programming Introduction to Class, Introduction to Programming

The write method used on the file handle writes data into the file.

>>> line1 = “This here’s the wattle,\n”>>> fout.write(line1)

Using write again puts the text at the end of the file

>>>line2 = ‘the emblem of our land.\n’>>> fout.write(line2)

90

Page 91: TM 331: Computer Programming Introduction to Class, Introduction to Programming

Always be closeing

After finished writing, you have to close the file to guarantee your changes are saved.

>>> fout.close()

In Notepad++, check the file that you just created.

91