다음과 같이 함수를 정의할 때 지정해준 변수(아래에선 각각 krw과 usd)외에 다른 변수를 정의하면,
|
1
2
3
4
5
6
7
8
|
# 원화(₩)에서 달러($)로 변환하는 함수
def krw_to_usd(krw):
return usd = krw / 1000
# 달러($)에서 엔화(¥)로 변환하는 함수
def usd_to_jpy(usd):
return jpy = usd * (1000/8)
|
cs |
이렇게 오류가 발생한다.

원화에서 달러로, 달러에서 엔화로 변환하려고 하다보니 자연스럽게 usd와 jpy라는 변수를 정의하게 됐는데 저렇게 하는 것이 아니라 아래와 같이
|
1
2
3
4
5
6
7
8
|
# 원화(₩)에서 달러($)로 변환하는 함수
def krw_to_usd(krw):
return krw / 1000
# 달러($)에서 엔화(¥)로 변환하는 함수
def usd_to_jpy(usd):
return usd * (1000/8)
|
cs |
지정된 변수만을 통해, 값을 return 해주도록 함수를 정의하고 이후 return된 값이 각각 usd, jpy라고 머리로만 생각하면 된다.
|
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
|
# 원화(₩)에서 달러($)로 변환하는 함수
def krw_to_usd(krw):
return krw / 1000
# 달러($)에서 엔화(¥)로 변환하는 함수
def usd_to_jpy(usd):
return usd * (1000/8)
prices = [34000, 13000, 5000, 21000, 1000, 2000, 8000, 3000]
print("한국 화폐: " + str(prices))
# prices를 원화(₩)에서 달러($)로 변환하기
i = 0
while i < len(prices) :
krw_to_usd(prices[i])
prices[i] = round(krw_to_usd(prices[i]))
i += 1
print("미국 화폐: " + str(prices))
# prices를 달러($)에서 엔화(¥)으로 변환하기
i = 0
while i < len(prices) :
usd_to_jpy(prices[i])
prices[i] = round(usd_to_jpy(prices[i]))
i += 1
print("일본 화폐: " + str(prices))
|
cs |
실제로 완성된 코드에서는 usd와 jpy가 변수로 정의되지 않는다.
'배운 것 > Python' 카테고리의 다른 글
| [기초 문법] a부터 b까지 정수의 합 구하기(for 문) (0) | 2022.01.11 |
|---|---|
| [기초 문법] 리스트 뒤집기(for 문) (0) | 2022.01.07 |
| [기초 문법] 중첩 while 문 (구구단 출력) (0) | 2022.01.04 |
| [기초 문법] 피보나치 수열(임시 저장소 'temp' 변수 설정) (0) | 2022.01.04 |
| [기초 문법] 거스름돈 계산기 (함수) (0) | 2022.01.02 |