11001 week 07 function - cs.nccu.edu.tw

39
程式設計概論 Programming 101 ─函式(function) 授課老師:邱淑怡 Date:10/24/2021 1

Upload: others

Post on 31-Mar-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Microsoft PowerPoint - 11001_week_07_Function.pptx lambda function (Recursive function)
3
Function
1. 2. 3. 4. 5.


x=a else:
x=a else:
6
Function 1():
def check_leap(year): if(year%400==0) or (year%100!=0 and year%4==0):
print(“leap year”) else:
(function)
(function)

2. CtoF1 function
Function 2(): 9
def check_leap(year): if(year%400==0) or (year%100!=0 and year%4==0):
return “leap year” else:
(function)
(function)

2. CtoF2 function
3.
r=r*x y=y-1
return r
r=r*x y=y-1
return r
Define function
13
1. 2. 3. 4.
14

16
x2=20 global x1 x2=x1+5 #x1 print(x1, x2)
3. 17
x2 = 20 x2 = x1 + 5 # x1 x1 = x1+ 5 # x1

x1=10 def fun():
x2=20 global x1 x2=x1+5 x1=x1+5 # x1 print(x1, x2)
4.
18
x1=10 def fun():
x2=20 x1=5 #x1 x2=x1+5 x1=x1+5 # x1 print(x1, x2)
1
f1() print(‘x outside:',x)
f1() print(‘x outside:',x)
f1() print(‘x outside:',x)
lambda arg1, arg2, ... : expression lambdaarg1arg2
(arguments)expression lambda:
lambda
lambda: find_max()
Define lambda function f = lambda num1, num2: num1 if num1 > num2 else num2
Call lambda function f(5,9) f(-5, -9) f(num2=5, num1=-9)
25
lambdaAdd xy
lambda 1. 1+2 2. 50+(-100) 3. “abc”+”de”
26
lambda
lambda
lambda
27
Lambda: lambdalist
(list)510 start =5 #global variable f = lambda stop = 10: [i for i in range(start, stop)]
lambdastop
lambdalist flambda:
f() # [5, 6, 7, 8, 9] f(12) # [5, 6, 7, 8, 9, 10, 11]
28
filter
sequence function() Truelist
def is_odd(n): return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(tmplist) print(newlist)
def is_odd(n): if n%2 ==1
return n
filter()lambda
30
https://sites.google.com/site/ezpythoncolorcourse/lambdafunction
lambdafilter()
31
scores = [90, 50, 80, 40, 100] f = lambda x: True if x < 60 else False # filter()list fail_scores = list(filter(f, scores)) print(fail_scores)
Python code
scores = [90, 50, 80, 40, 100] fail_scores = list(filter(lambda x: True if x < 60 else False, scores)) print(fail_scores)
lambdafilter()32
lambda v.s. function
lambda a, b : a if a>b else b
λ Anonymous
function)
def max1(a, b): return a if a>b else b

33


(self-calling)
_: (4!)
n=0F(n)=n!=0!=1 n>0F(n)=n!=n*(n-1)!=n*F(n-1) n<0F(n)=-1
37
return 1 else:
return n* factorial(n-1)
print(“0!=“, factorial(0)) print(“4!=“, factorial(4))
_: 38
def factorial_loop (n): factor = 1 for I in range(1,n+1):
factor *= I return factor
define function Call function
of-hanoi