python을 사용하여 섭씨를 화씨로 변환해주는 프로그램을 만들어보자
먼저 섭씨를 화씨로 바꾸는 공식을 알면 쉽게 풀어낼 수 있다.
화씨(℉) : ((9/5*섭씨(℃)) + 32
이를 활용해서 아래와 같은 코드를 짤 수 있다.
c_temp = int(input("섭씨 온도를 입력하세요: " ))
f_temp = ((9/5*c_temp) + 32)
print(f'섭씨 {c_temp}도 는 화씨 {f_temp} 입니다.')
섭씨 온도를 입력하세요: 32
섭씨 32도 는 화씨 89.6 입니다.
위와 같은 결과를 얻을 수 있었다. 언뜻 보면 제대로 해결한것 처럼 보이지만 섭씨온도를 입력할때
int 를 사용하여 실수형태로 입력이 불가능 했다. 또한 화씨의 결과값을 소수점 둘째자리 까지 나타내고 싶었다.
이를 고려하여 아래와 같이 다시 수정하였다.
c_temp = float(input("섭씨 온도를 입력하세요: " ))
f_temp = ((9/5*c_temp) + 32)
print(f'섭씨 {c_temp}도 는 화씨 {f_temp:0.2f} 입니다.')
섭씨 온도를 입력하세요: 32.2
섭씨 32.2도 는 화씨 89.96 입니다.
- 섭씨를 화씨로 바꿔주는 함수 만들어보기
매번 섭씨온도를 화씨로 바꿔줄때마다 코드를 작성하면 너무나도 귀찮을 것이다. 때문에 우리는 섭씨를 화씨로 바꿔주는 간단한 함수를 만들어 놓는다면 많은 수고를 덜 수 있을 것이다.
#변환하고 싶은 섭씨온도를 입력하면 화씨를 계산해서 반환해주는 함수를 정의한다.
def convert_c_to_f(temp):
fah=((9 / 5) * temp) + 32
return (f'{fah:0.2f}')
###################
#간단한 함수를 추가해 보았다.
def say_hello(msg):
return 'hello' + ' '+ msg
print(convert_c_to_f(32.2))
print(say_hello('world'))
89.96
hello world
convert_c_to_f 함수를 통해 쉽게 89.96 이라는 값을 얻을 수 있었다.
- 모듈화하여 사용해보자
def convert_c_to_f(temp):
fah=((9 / 5) * temp) + 32
return (f'{fah:0.2f}')
위의 코드를 fah_converter.py로 저장한다. 그리고 새로운 module.py를 만든다.
from fah_converter import convert_c_to_f
#from 패키지명 import 모듈명(.py)
#from 패키지명 import * -> 모듈에 속한 모든 함수를 import할 때
#from fan_converter import *
print('변환하고 싶은 섭씨온도를 입력하세요')
temp = float(input())
result = convert_c_to_f(temp) #fah_converter 모듈의 convert_c_to_f()함수 호출
print('섭씨온도 =', temp)
print(f'화씨온도 = {result}')
변환하고 싶은 섭씨온도를 입력하세요
35.5
섭씨온도 = 35.5
화씨온도 = 95.90
- from 패키지명 import * 를 사용했을때 주의점
특정하게 사용할 변수를 정하지않고 패키지내에 불특정 다수의 함수 중 하나를 사용할때 import* 를 사용한다. 본인 혼자서 코드를 사용할 때는 적절하게 사용가능하지만 여러사람이 같이 협업하는 프로젝트중 다른 라이브러리에서 import할때 불특정함수가 바로 실행될 수도 있기때문에 사용에 주의해야한다.
그럼 어떻게 위와 같은 문제를 피해갈 수 있을까? 해결 방법은 import*에서 특정함수를 사용할때 def함수를 해주는 것이다. 아래의 예시를 살펴보자
from fah_converter import *
def my_main():#my_main으로 함수에 구분을 주었다.
print('변환하고 싶은 섭씨온도를 입력하세요')
temp = float(input())
result = convert_c_to_f(temp)
print('섭씨온도 =',temp)
print(f'화씨온도 = {result}')
if __name__ == "__main__": #지금 실행되고 있는 함수가 my_main함수와 이름이 같으면 직접실행됨을 출력
my_main()
print('직접실행됨', __name__)
else:
print('import되어 실행됨', __name__)
위의 코드를 실행했을 때 아래와 같이 출력되는데, 우리는이를 통해 지금실행되는 함수가 직접실행된 함수인지 import된 함수인지 구별할 수 있고 함수명 또한 알수있다.
변환하고 싶은 섭씨온도를 입력하세요
32.2
섭씨온도 = 32.2
화씨온도 = 89.96
직접실행됨 __main__
댓글