Language/Python

[ Python ] 환전 계산기 프로그램

곽수진 2021. 9. 1. 23:10
반응형
사용자로부터 한화 금액과 환전 국가를 입력받고 해당 국가의 환전 금액을 출력할 때, 입력한 국가가 리스트에 없을 때는 다시 입력을 받도록 프로그램을 작성해보자.
단, 환전 금액을 출력할 때는 소수점 둘째자리까지 출력


환전 금액 = 한국돈 / 매매기준율

국가 리스트는 ["미국", "중국", "유럽", "일본"]

금액 단위는 ["달러", "위안", "유로", "엔"]

환율 리스트는 [1182.5, 169.22, 1286.74, 1078.14]

 

country_list = ["미국", "중국", "유럽", "일본"]
unit_list = "달러", "위안", "유로", "엔"]
rate = [1182.5, 169.22, 1286.74, 1078.14]

def inputinfo():
    while True:
        c = input("국가 입력")
        if c not in country_list:
            print("해당 국가가 없습니다. 다시 입력하세요.")
        else:
            break
    money = int(input("환전 금액을 입력: "))
    return c, money

def exchange(c, m):
    index= country_list.index(c)
    result = round(m/rate[index], 2)
    print("%s원은 %s %s"%(m, result, unit_list[index]))

country, money= inputinfo()
exchange(country, money)

▶️ 국가 리스트와 금액 단위, 환율 리스트를 각각 country_list, unit_list, rate 변수에 저장

country_list = ["미국", "중국", "유럽", "일본"]
unit_list = "달러", "위안", "유로", "엔"]
rate = [1182.5, 169.22, 1286.74, 1078.14]

▶️ inputinfo() 사용자 정의 함수를 생성해 사용자가 입력한 국가가 country_list에 저장되어 있는 경우, 저장되지 않은 경우를 나눠 결과값 출력

def inputinfo():
    while True:
        c = input("국가 입력")
        if c not in country_list:
            print("해당 국가가 없습니다. 다시 입력하세요.")
        else:
            break
    money = int(input("환전 금액을 입력: "))
    return c, money

▶️ 사용자가 입력한 나라에 해당하는 index값과 단위, 환율의 index값이 같아야함

index= country_list.index(c) : 사용자가 입력한 나라가 country_list에 해당하는 index값을 index 변수에 저장

result = round(m/rate[index], 2) : (사용자가 입력한 환전 금액 / 사용자가 입력한 나라의 index값과 일치하는 환율)을 계산하고 소수점 둘째자리까지 표현

def exchange(c, m):
    index= country_list.index(c)
    result = round(m/rate[index], 2)
    print("%s원은 %s %s"%(m, result, unit_list[index]))

 

 

 

★ 결과값은 동일하지만 다른 코드로 표현 가능 ★ 

 

def exchange(money, country):
    if country in country_list:
        money_code = country_list.index(country)
    else:
        print('해당 국가 정보가 없습니다.')
    return money_code

country_list = ['미국', '중국', '유럽', '일본']
unit = ['달러', '위안', '유로', '엔']
rate = [1182.5, 169.22, 1286.74, 1078.14]
money = int(input('환전 금액(원)을 입력하세요: '))
country = input('국가를 입력하세요: ')
money_code=exchange(money, country)

result = round((money/rate[money_code]), 2)

print(money,'원은',result, unit[money_code],'입니다.')

 

결과값 출력 모습

 

반응형