Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python programming Using the JES picture functions and defining new functions.

Similar presentations


Presentation on theme: "Python programming Using the JES picture functions and defining new functions."— Presentation transcript:

1 Python programming Using the JES picture functions and defining new functions

2 Review Python – what kind of animal? JES environment command area arithmetic print command variables and the assignment statement Functions –sqrt() –str() –showInformation() –requestInteger()

3 Functions in general F(a,b) 4‘a’ F(4, ‘a’) side-effects

4 Example: sqrt() sqrt(a) 4 2 side-effects

5 Example: showInformation() showInformation(message) message Pops up a new window displaying the message text

6 Example: requestNumber() requestNumber(“What is the answer to Life, the Universe and Everything?” ) “What is the answer to Life, the Universe and Everything?” Pops up a new window displaying the message text with an input box where the user can type in a number, e.g., 42 42

7 More JES Functions Some pre-defined functions in JES for picture and sound manipulation –makeEmptyPicture() –makePicture() –makeSound() –show() –play() –pickAFile() Some of these functions accept input values pic1 = makeEmptyPicture(300,200) show(pic1)

8 Example: makeEmptyPicture() makeEmptyPicture(300,200) 300 x 200 blank image 300 makePicture(width,height) creates and returns a picture object of the given dimensions 200

9 Example: show() show(picture-object) picture-object (an encoding of an image) Pops up a new window displaying image stored in picture-object

10 Picture Functions makePicture(filename) creates and returns a picture object, from the JPEG file at the filename show(picture) displays a picture in a window We’ll learn functions for manipulating pictures later, like getColor(), setColor(), and repaint()

11 Example: pickAFile() pickAFile() Filename (eg: C:\Documents and Settings\mpapalas\My Documents\greenroom.jpg) Pops up a dialog box for the user to select a file

12 Example: makePicture() makePicture(filename) Picture object corresponding to image that is saved in theFile theFile (a string containing a file name) makePicture(filename) creates and returns a picture object, from the JPEG file at the filename

13 Demonstrating picture manipulation with JES >>> >>> print pickAFile() C:\Documents and Settings\mpapalas\Desktop\sample.jpg >>> theFile = "C:\Documents and Settings\mpapalas\Desktop\sample.jpg" >>> makePicture(theFile) Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> print makePicture(theFile) Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> pic = makePicture(theFile) >>> print pic Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> show(pic)

14 Writing a recipe: Making our own functions def fcnName (input1, input2,...) : block describing what the function should do return value To make a function, use the command def Then, the name of the function, and the names of the parameters (input values) between parentheses (“(input1)”, etc), separated by commas. The body of the recipe is indented (Hint: Use two spaces) –That’s called a block –Optionally, the function can return a value

15 Writing a recipe: Making our own functions def fcnName (input1, input2,...) : block describing what the function should do return value To make a function, use the command def Then, the name of the function, and the names of the input values between parentheses (“(input1)”) The body of the recipe is indented (Hint: Use two spaces) –That’s called a block –Optionally, the function can return a value Important: End the line with a colon (“:”)

16 Writing a recipe: Making our own functions def fcnName (input1, input2,...) : block describing what the function should do return value To make a function, use the command def Then, the name of the function, and the names of the input values between parentheses (“(input1)”) The body of the recipe is indented (Hint: Use two spaces) –That’s called a block –Optionally, the function can return a value Optional

17 Using a recipe: Invoking our own functions Once a function has been defined… def fcnName (input1, input2,...) : block describing what the function should do return value … it can be used with any input values of the appropriate type: result1 = fcnName(300, 200)

18 Example: A recipe for displaying picked picture files: def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic)

19 pickAFile() Pops up a dialog box for the user to select a file theFile A recipe for displaying picked picture files: def pickAndShow(): theFile = pickAFile()

20 pickAFile() Pops up a dialog box for the user to select a file makePicture(filename) pic theFile def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) A recipe for displaying picked picture files:

21 pickAFile() Pops up a dialog box for the user to select a file makePicture(filename) pic theFile show(picture-obj) Pops up a new window displaying image stored in the the picture object def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic) A recipe for displaying picked picture files:

22 pickAFile() Pops up a dialog box for the user to select a file makePicture(filename) pic theFile show(picture-obj) Pops up a new window displaying image stored in the the picture object def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic) A recipe for displaying picked picture files:

23 pickAFile() Pops up a dialog box for the user to select a file makePicture(filename) pic theFile show(picture-obj) Pops up a new window displaying image stored in the the picture object def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic) pickAndShow() A recipe for displaying picked picture files:

24 A recipe for playing picked sound files def pickAndPlay(): myfile = pickAFile() mysound = makeSound(myfile) play(mysound)

25 Anything complicated is best done in the Program Area Program area - A simple editor for programs Command area - Interaction with Jython

26 Using the Program Area Type your program (or cut and paste from the command area) Save (or Save As) - use.py for file extension Load Program (click on button between command and program areas) –Before you load it, the program is just a bunch of characters. –Loading encodes it as an executable function –You must Save before Loading –You must Load before you can use your function

27 Making functions the easy way Get something working by typing commands Enter the def command. Copy-paste the right commands into the program area

28 Names for variables and functions can be (nearly) anything! Must start with a letter (but can contain numerals) Can’t contain spaces –myPicture is okay but my Picture is not Be careful not to use command names as your own names –print = 1 won’t work –(Avoid names that appear in the editor pane of JES highlighted in blue or purple) Case matters –MyPicture is not the same as myPicture or mypicture Sensible names are sensible –E.g. myPicture is a good name for a picture, but not for a picture file. –x could be a good name for an x-coordinate in a picture, but probably not for anything else

29 Blocking is indicated for you in JES Statements that are indented the same, are in the same block. Statements that are in the same block as where the line where the cursor is are enclosed in a blue box.

30 Now what? After a program with a function definition is loaded, that function can be used either from the command or the program area Try using your function by typing pickAndShow() in the command area

31 Reading Sections 2.4, 2.5 from “Introduction to Computing and Programming in Python”

32 Assignment Create a function that… –Causes an interactive input window to pop up and request some form of input from the user and stores it in a variable –Displays the value stored in the variable –Displays an image Save your function in a file Load it Use the function in the command area to make sure that it works and does what you want it to do Submit your file through webct


Download ppt "Python programming Using the JES picture functions and defining new functions."

Similar presentations


Ads by Google