1
간단한 함수 정의 호출 연습
1
2
3
4
5
6
7
def f(n):
if n == 0:
return 1
else:
return n*f(n-1)
print(f(5))
120
2
유사해 보이는 함수 정의 차이점 분별
(a)
1
2
3
4
5
6
def f(n):
if n==0:
return 0
else:
return n*f(n-1)
print(f(5))
0
(b)
1
2
3
4
5
6
7
def f(n):
if n==0:
return 0
else:
return n+f(n-1)
print(f(5))
15
3
set builder
(a)
1
2
(a)
print([2*x + 1 for x in range(5)])
[1, 3, 5, 7, 9]
(b)
1
print([3*x + 1 for x in range(5)])
[1, 4, 7, 10, 13]
4
복잡한 함수 호출
1
2
3
4
5
6
7
8
9
10
11
12
def f(n):
if n<=2:
return 1
else:
return g(n-1) + f(n-2)
def g(n):
if n<=2:
return 1
else
return f(n-1) + g(n-2)
print(f(10))
55
5
함수 sum() 연습
(a)
1
2
x=[1,2,3,4]
print(sum(x))
10
(b)
1
2
3
4
m = [x for x in range(10) if x%3 == 1]
n = [x for x in range(10) if x%3 == 2]
y = [t*u for t in m for u in n]
print(sum(y))
180
6
matplotlib.pyplot 이용하여 그래프 그리기 컴파일러 : python 3.5 이상 & 아나콘다 필요
1
2
3
4
5
6
7
8
9
10
11
12
13
14
%matplotlib inline
import matplotlib.pyplot as plt
import math
x = [(t/1000-0.5)*20 for t in range(1000)]
def graph(f,x):
y = [f(t) for t in x]
plt.plot(x,y)
def f(x):
return 1/math.exp(x**2)*math.cos(5*x)
graph(f,x)