조건)
화씨 온도(°F)를 섭씨 온도(°C)로 바꾸어주는 프로그램을 만들려고 합니다.
섭씨와 화씨의 관계식은 다음과 같습니다:
°C=(°F−32)∗59
화씨 온도를 섭씨 온도로 변환해 주는 함수 fahrenheit_to_celsius를 써 보세요. 이 함수는 파라미터로 화씨 온도 fahrenheit를 받고, 변환된 섭씨 온도를 리턴합니다.
과정)
진짜 모르겠음;
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
c = temperature_list[]
c = (temperature_list[] - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(temperature_list)) # 화씨 온도 출력
Ctem_list = [4.4, -9.4, 0.0, 17.8, -20.0, -11.7]
print("섭씨 온도 리스트: {}".format(temperature_list)) # 섭씨 온도 출력
여기까지 작성한 다음에....? 어떤 파라미터를 입력하고 출력하는지 모르겠다.
화씨 온도를 넣고 섭씨를 넣는 건 알겠는데 list값을 하나하나 넣어줘야 하나?
-> 까지 생각하고 좀 더 보니까 알고보니 문제에 파라미터로 화씨온도를 받으라고 써 있었다.....
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(temperature_list)) # 화씨 온도 출력
print("섭씨 온도 리스트: {}".format(fahrenheit_to_celsius(temperature_list)) # 섭씨 온도 출력
이렇게 바꿔서 넣었는데
File "main.py", line 10
^
SyntaxError: unexpected EOF while parsing
개 큰 오류 발생
파이썬 코드가 끝났는데, 문법적으로 아직 ‘뭔가 더 있어야 하는데’ 없는 경우에 발생하는 전형적인 구문 오류야.
즉, 열린 괄호, 따옴표, 블록, 들여쓰기, if/for/while 같은 게 제대로 닫히지 않았다는 뜻
이라고 합니다. 들여쓰기 하나도 중요하게 작용하는 듯.
무의미한 line10이 한줄 추가되어 있어서 그런가 싶어서 삭제해보니 또 실행오류;
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(temperature_list)) # 화씨 온도 출력
i = 0
while i <= 6:
temperature_list[i] = round(fahrenheit_to_celsius(temperature_list[i]), 1)
i += 1
print("섭씨 온도 리스트: {}".format(temperature_list)) # 섭씨 온도 출력
새롭게 코드 작성하였으나, while에서 인덱스 범위 오류..
모범답안
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(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)) # 섭씨 온도 출력
피드백)
1. 리스트 인덱스는 0부터 시작이다.....
2. 리스트 파라미터 값 바꾸는 방법 익숙해지자
3. len문으로 작성하는 것이 직접 정수를 입력하는 것보다 수정할 때, 더 편하다.
'데이터분석 > python' 카테고리의 다른 글
| #6. 리스트 함수 활용 (0) | 2025.10.27 |
|---|---|
| #5. 환전 서비스 (0) | 2025.10.27 |
| 파이썬 list 함수 요약 (0) | 2025.10.26 |
| #3. 2의배수 3의배수 합산 / 아니 진짜 왜캐 멍청하지 나는 (0) | 2025.10.26 |
| #2. 8배수이지만, 12배수가 아닌 정수 (0) | 2025.10.26 |