티스토리 뷰
파이썬의 특징은 가볍고, 간단하다.
이게 무슨 말인즉 하니. 다음 그림을 보자
만약 사람의 키와, 각도, 거리가 구어졌을 때 나무크기를 구하는 문제다.
삼각형의 밑변과 각도가 주어졌을대 한 변의 길이 구하려면 다음과 같다.
변 = 밑변 * tan(각도)
이 공식을 토대로 나무의 크기는 다음과 같이 구할 수 있다.
나무크기 = 사람의 키 + (거리 * tan(각도))
위 공식이 소스 코드라고 생각하는가?아니라고 생각할 수도 있지만 파이썬에서는 위 공식도 소스코드가 된다.
위 공식의 영어을 치환해보자. 위 공식이 소스코드가 아니라고 한 사람이 아래 공식을 소스코드라고 느꼈다면 당신은 간악한 사람?
treeHeight = humanHeight + (distance * tan(degree))
오 뭔가 확실히 코드 같아졌다.
이제 사용자로 부터 값을 입력받자. 다른 언어와 다르게 각 코드의 끝에 세미콜론(;)이 붙지 않는다.
humanHeight = input("사람의 키(m) : ")
distance = input("나무와의 거리(m) : ")
degree = input("각도(degree) : ")
그냥 저렇게 input이라는 메소드를 쓰면 표준 입력을 받을 수 있다. Java나 C에 비하면 훨씬 간단하다.
input 메소드를 통해 입력받은 내용은 문자열로 처리된다. 고로 다른 자료형으로 치환해주자.
humanHeight = float(input("사람의 키(m) : "))
distance = float(input("나무와의 거리(m) : "))
degree = float(input("각도(degree) : "))
float()외에 int()도 있고 str()도 있다.
물론 이렇게 하고 나무의 크기를 구하면 원하는 값이 안나온다. 탄젠트를 구할 수 있는 기능과 각도를 라디안 값으로 바꿔주는 기능을 사용하기 위해서는 math 라는 기능을 import 해주어야 한다.
import math
degree = math.radians(degree)
그리고 화면에 출력 하자
print(treeHeight)
완성 소스코드
C나 Java로 수십 줄을 짜야 하는 기능도 Python으로는 간단하게 구현가능하다.
결과
'개인공부 > Python' 카테고리의 다른 글
Python03 : 파이썬 객체지향 예제 (0) | 2014.08.12 |
---|---|
Python02 : 조건문, 반복문, 함수 예제 (0) | 2014.08.12 |