training3.py 파일에 아래에 예제들에서 설명되는 함수들을 정의하라.
인자로 x
라디안(호도, radian)을 입력받아 각도(degree)로 계산하여 되돌려주는 함수 degree(x)
를 정의하라.
`degree(x) = (x * 360) / (2 * pi)`
여기서 pi
는 원주율을 나타내며, 라디안(호오) 설명은 아래 사이트 참조.
https://namu.wiki/w/%EB%9D%BC%EB%94%94%EC%95%88
활용 예:
In [ ]: degree(math.pi)
Out[ ]: 180.0
In [1]:
import math # math 모듈을 임포트해야 pi 값을 사용할 수 있다.
def degree(x):
return (x *360.0) / (2 * math.pi)
degree(math.pi)
Out[1]:
In [2]:
def min_max(xs):
return (min(xs), max(xs))
# 튜플을 이용하여 최소값과 최대값을 쌍으로 묶어 리턴하였다.
# 따라서 리턴값을 쪼개어 사용할 수도 있다.
a, b = min_max([0, 1, 2, 10, -5, 3])
a
Out[2]:
min
과 max
함수는 모든 시퀀스 자료형에 활용할 수 있는 함수들이다.
In [3]:
min((1, 20))
Out[3]:
파이썬에서 다루는 모든 값과 문자들을 비교할 수 있다. 많은 예제들을 테스하면서 순서에 대한 감을 익힐 필요가 있다.
In [4]:
max("abcABC + $")
Out[4]:
In [5]:
min("abcABC + $")
Out[5]:
In [6]:
max([1, 1.0, [1], (1.0), [[1]]])
Out[6]:
In [7]:
min([1, 1.0, [1], (1.0), [[1]]])
Out[7]:
리스트 자료형 xs
를 입력받아 리스트 내의 값들의 기하평균을 되돌려주는 함수 geometric_mean(xs)
를 정의하라.
기하평균에 대한 설명은 아래 사이트 참조할 것.
https://ko.wikipedia.org/wiki/%EA%B8%B0%ED%95%98_%ED%8F%89%EA%B7%A0
활용 예:
In [ ]: geometric_mean([1, 2])
Out[ ]: 1.4142135623730951
In [8]:
def geometric_mean(xs):
g = 1.0
for m in xs:
g = g * m
return g ** (1.0/len(xs))
geometric_mean([1,2])
Out[8]:
다음 조건을 만족시키는 함수 swing_time(L)
함수를 정의하라.
길이가 L
인 진자(pendulum)가 한 번 왔다갔다 하는 데에 걸리는 시간(주기, 초단위)을 계산하여 되돌려 준다.
진자와 주기 관련해서 아래 사이트 참조.
https://ko.wikipedia.org/wiki/%EC%A7%84%EC%9E%90
활용 예:
In [ ]: swing_time(1)
Out[ ]: 2.0060666807106475
In [9]:
g = 9.81
def swing_time(L):
return 2 * math.pi * math.sqrt(L / g)
swing_time(1)
Out[9]:
In [10]:
def range_squared(n):
L = []
for index in range(n):
L.append(index ** 2)
return L
range_squared(3)
Out[10]:
In [11]:
def count(element, seq):
return seq.count(element)
count(2, range(5))
Out[11]: