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(변수)
가와 다를 출력하라는 문제인데 인덱싱으로 쉽게 풀이할 수 있었다.