week 2 lab2 practice dina a. said [email protected]

13
Week 2 Lab2 Practice Dina A. Said [email protected]

Upload: kerry-long

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Week 2 Lab2Practice

Dina A. [email protected]

Page 2: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Functions: Parameter Passing To pass a parameter to a function, define it as a variable in

the function declaration e.g. def square(length) At run time, call the function with the value of this

parameter e.g. square(6) Example:

def printNameID(name,ID): print name print ID

At the command window write: printNameID(“John”,122898)

3/18/2009 CPSC203- Week2- Lab2

Page 3: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Functions: return value Your function may return a value using return command,

e.g. return 6 return sum

Note that, you should return only one value If a function returns a value, you can use it in assignment

e.g. F=mySum() Now, you have defined a variable F that will holds the value

that the function mySum() returns

3/18/2009 CPSC203- Week2- Lab2

Page 4: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Example

3/18/2009 CPSC203- Week2- Lab2

def mySum(): sum=0 for x in (1,2,3): sum=sum+x return sum

In command window:mySum()F=mySum()Print F

Page 5: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Exercise Modify the previous function to return the summation of

numbers in a range starting from x to y, where x and y are parameters passed to your function

Test your function with mySum(1,3) You answer should be 6

Note: If the range is required to be inclusive, your range should be

(x,y+1) However, if the range is required to be exclusive, your range

should be (x+1,y) The default is inclusive

3/18/2009 CPSC203- Week2- Lab2

Page 6: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

3/18/2009 CPSC203- Week2- Lab2

def mySum(x,y): sum=0 for no in range (x,y+1): sum=sum+no return sum

Note that you can’t have two variables with the same name

Page 7: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Example Write a function returns the multiplication of numbers in

range starting from x to y. Test your function with

myMul(2,3) 2*3=6 myMul(2,6) 2*3*4*5*6=720

3/18/2009 CPSC203- Week2- Lab2

Page 8: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

3/18/2009 CPSC203- Week2- Lab2

def myMul(x,y):

mul=1 for n in range (x,y+1): mul=mul*n return mul

Initialization

Page 9: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Exercise Write a function that returns the Permutations of a given

number, where the permutation of x is calculated as 1*2*…*x. For example, the permutation of 6 is calculated as 1*2*3*4*5*6=720 and the permutation of 7 is calculated as 1*2*3*4*5*6*7=5040

Hints: Think about the range of your loop from 1 to the number Use multiplication What value should you initialize the permutation with?

3/18/2009 CPSC203- Week2- Lab2

Page 10: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Exercise Modify the permutation program to check first if the given

number if greater than zero. You should print error message otherwise. What is the return value in case of error message?

3/18/2009 CPSC203- Week2- Lab2

Page 11: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

3/18/2009 CPSC203- Week2- Lab2

def perm(x): if (x<=0): print "Error" return -1 else: result=1 for n in range (1,x+1): result=result*n return result

Page 12: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Example Write a function that accepts four numbers and returns the

maximum of them

3/18/2009 CPSC203- Week2- Lab2

def myMax(x,y,z,w): max=x for n in (y, z, w): if (n>max): max=n return max

max=x=3

n=y=6

is n>max? yes max =6

n=z=2

is n>max? No do nothing

n=w=9

is n>max? yes max =9

myMax(3,6,2,9)X=3 y=6 z=2 w=9

Page 13: Week 2 Lab2 Practice Dina A. Said dasaid@ucalgary.ca

Exercise Write a function that accepts 3 numbers and returns the

minimum of them Test your program with

myMin(9,5,2) 2 myMin(3,4,10) 3 myMin(2,-4,8) -4

3/18/2009 CPSC203- Week2- Lab2