초보 개발자

파이썬 문제 풀이 본문

Python/이것 저것

파이썬 문제 풀이

taehyeki 2021. 12. 19. 20:07
# 123
# 사용자로부터 달러, 엔, 유로, 또는 위안 금액을 입력받은 후 이를
# 원으로 변환하는 프로그램을 작성하라. 각 통화별 환율은 다음과 같다.
# 사용자는 100 달러, 1000 엔, 13 유로, 100 위안과 같이 금액과 통화명 사이에
# 공백을 넣어 입력한다고 가정한다.

# 통화명	환율
# 달러	1167
# 엔	1.096
# 유로	1268
# 위안	171
a = input('입력 : ')
list = ['달러','엔','유로','위안']
num = int(a.split(' ')[0])
cur = a.split(' ')[1].strip()
rate = 0
if not (cur in list):
    print(f'아래의 통화 중 하나를 선택해주세요.\n{list}')
else:
    if cur == '달러':
        rate = 1167
    elif cur =='엔':
        rate = 1.096
    elif cur == '유로':
        rate = 1268
    else:
        rate = 171
    print(round(num * rate), '원')

나는 먼저 통화 리스트를 만들고 input값에서 split으로 공백을 기준으로 숫자와 통화를 나누고 환율에 해당하는 부분을 일일이 if문으로 대조 하였다.

 

환율 = {"달러": 1167,
        "엔": 1.096,
        "유로": 1268,
        "위안": 171}
user = input("입력: ")
num, currency = user.split()
print(float(num) * 환율[currency], "원")

 

답지에서는 먼저 환율을 dict형태로 만들고 input을 split() 인자를 안주면 default가 " "인가보다 

Optional. Specifies the separator to use when splitting the string. By default any whitespace is a separator

이 리스트 값을 언팩킹을 하고, 환율의 key값에 바로 접근하는 방식으로 풀 수 있다는 점이 흥미로웠다.

 

리스트 = ["가", "나", "다", "라"]
for 변수 in 리스트[: :2]:
  print(변수)

가와 다를 출력하라는 문제인데 인덱싱으로 쉽게 풀이할 수 있었다.