티스토리 뷰

개인공부/Python

Python01 : 파이썬?

Yowu 2014. 8. 11. 17:20
반응형



파이썬의 특징은 가볍고, 간단하다.

이게 무슨 말인즉 하니. 다음 그림을 보자



만약 사람의 키와, 각도, 거리가 구어졌을 때 나무크기를 구하는 문제다.

삼각형의 밑변과 각도가 주어졌을대 한 변의 길이 구하려면 다음과 같다.

변 = 밑변 * 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)


완성 소스코드

'''
Created on 2014. 8. 9.

@author: uyu423
'''

import math


humanHeight = float(input("사람의 키(m) : "))
distance = float(input("나무와의 거리(m) : "))
degree = float(input("각도(degree) : "))
degree = math.radians(degree)

treeHeight = humanHeight + (distance * math.tan(degree))

print(treeHeight)

C나 Java로 수십 줄을 짜야 하는 기능도 Python으로는 간단하게 구현가능하다.


결과



반응형

'개인공부 > Python' 카테고리의 다른 글

Python03 : 파이썬 객체지향 예제  (0) 2014.08.12
Python02 : 조건문, 반복문, 함수 예제  (0) 2014.08.12
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

최근에 올라온 글
최근에 달린 댓글
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
Total
Today
Yesterday