파이썬 예제 - 온도 단위 바꾸기
예제를 풀면서 파이썬(Python)을 익혀 보도록 하겠습니다.
- 필자도 문제를 풀면서 좀 어려웠던 기억이 있습니다.
- 차근 차근 잘 생각해서 문제를 풀어 보도록하겠습니다.
문제
화씨 온도(F)를섭씨 온도(C)로 바꾸어주는 프로그램을 만들려고 합니다.
섭씨와 화씨의 관계식은 다음과 같습니다.
화씨 온도를 섭씨 온도로 변환해 주는 함수 fahrenheit_to_celsius를 써 보세요. 이 함수를 파라미터로 화씨 온도 fahrenheit를 받고, 변환된 섭씨 온도를 리턴합니다.
위 프로그램을 실행하면 아래처럼 출력되어야 합니다.
출력 예시
화씨 온도 리스트: [40, 15, 32, 64, -4, 11]
섭씨 온도 리스트: [4.4, -9.4, 0.0, 17.8, -20.0, -11.7]
힌트
1. 화씨 온도를 섭씨 온도로 변환해 주는 fahrenheit_to_celsius 함수를 제공해 드리겠습니다.
deffahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
2. temperature_list에는 화씨 온도가 저장되어 있는데요. 이 값들을 모두 섭씨 온도로 변환해야 합니다.
한 번에 다 하려고 하지 말고, 하나씩 차근차근 생각해 봅시다. 2번 인덱스의 원소를 섭씨 온도로 바꾸기 위해서는 뭘 해야 할까요? 이렇게 하면 됩니다.
temperature_list[2] = fahrenheit_to_celsius(temperature_list[2])
만약 변환된 섭씨 온도를 소수점 첫째 자리까지 반올림하고 싶다면 이렇게 하면 됩니다.
temperature_list[2] = round(fahrenheit_to_celsius(temperature_list[2]), 1)
3. 힌트 2에서는 하나의 원소에 대해서만 변환을 했는데요. 모든 원소에 대해서 하려면 반복문을 사용하면 좋겠죠?
반복문은 인덱스 0부터 인덱스 len(tempereature_list) - 1까지 돌면 됩니다.
정답
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: " + str(temperature_list)) # 화씨 온도 출력
i = 0
while i < len(temperature_list):
temperature_list[i] = round(fahrenheit_to_celsius(temperature_list[i]), 1)
i += 1
# 리스트의 값들을 화씨에서 섭씨로 변환하는 코드를 입력하세요.
print("섭씨 온도 리스트: " + str(temperature_list)) # 섭씨 온도 출력
해설 보기
온도 변환 함수
화씨 온도를 섭씨 온도로 변환해 주는 fahrenheit_to_celsius 함수는 이렇게 작성할 수 있습니다.
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
한 번 이 함수를 활용해 봅시다. temperature_list에는 화씨 온도가 저장되어 있는데요. 만약 2번 인덱스의 원소를 섭씨 온도로 바꾸고 싶다면 뭘 해야 할까요?
이렇게 하면 됩니다.
temperature_list[2] = fahrenheit_to_celsius(temperature_list[2])
그리고 만약 변환된 섭씨 온도를 소수점 첫째 자리까지 반올림하고 싶다면 이렇게 하면 되겠죠.
temperature_list[2] = round(fahrenheit_to_celsius(temperature_list[2]), 1)
리스트의 모든 요소 변환
이제 temperature_list의 모든 원소를 섭씨로 변환하겠습니다. 반복문을 사용해야겠죠? 인덱스 0부터 인덱스 len(temperature_list) - 1까지 반복을 해야 하는데요.
i = 0
while i < len(temperature_list):
# 인덱스 i에 있는 요소 변환
i += 1
이렇게 하면 되겠네요.
이제 temperature_list의 인덱스 i에 있는 요소를 화씨에서 섭씨로 변환하면 코드가 완성됩니다.
모범 답안
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: " + str(temperature_list)) # 화씨 온도 출력
# 리스트의 값들을 화씨에서 섭씨로 변환하는 코드
i = 0
while i < len(temperature_list):
temperature_list[i] = round(fahrenheit_to_celsius(temperature_list[i]), 1)
i += 1
print("섭씨 온도 리스트: {}".format(temperature_list)) # 섭씨 온도 출력
Related References
요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 파이썬 국비 지원, 파이썬 교육
'TESTING > PROGREMING' 카테고리의 다른 글
[파이썬 코딩 - Chap.15] 실습 조금 생각하는 리스트 함수 문제 풀어보기 (0) | 2020.11.23 |
---|---|
[파이썬 코딩 - Chap.14] 실습 조금 생각하는 환전 서비스 문제 풀어보기 (0) | 2020.11.23 |
[파이썬 코딩 - Chap.12] 실습 간단한 구구단 문제 풀어보기 (0) | 2020.11.16 |
[파이썬 코딩 - Chap.11] 실습 피보나치 수열 문제 풀어보기 (0) | 2020.11.14 |
[파이썬 코딩 - Chap.10] 실습 미니의 우승 상금 문제 풀어보기 (0) | 2020.11.12 |