본문 바로가기
#04.IT도서/+02.파이썬 300제

[300제] 초보자를 위한 파이썬 300제(1)

by 돌비오 2023. 4. 27.
728x90
023. 문자열 인덱싱 아래의 문자열에서 '홀' 만 출력하세요.
>> string = "홀짝홀짝홀짝"

 

 

1) 나의 답

string = "홀짝홀짝홀짝"
print(string[0],string[2],string[4])

 

2) 정답

string = "홀짝홀짝홀짝"
print(string[::2])

 

 

 

 

100. zip과 dict 두 개의 리스트를 close_table 이름의 딕셔너리로 생성하라.
date = ['09/05', '09/06', '09/07', '09/08', '09/09']
close_price = [10500, 10300, 10100, 10800, 11000]
실행 예시:
>> print(close_table)
{'09/05': 10500, '09/06': 10300, '09/07': 10100, '09/08': 10800, '09/09': 11000}

 

나는 for문 돌리려다 실패.

정답은 =>

close_table = dict(zip(date, close_price))
print(close_table)
 
=> {'09/05': 10500, '09/06': 10300, '09/07': 10100, '09/08': 10800, '09/09': 11000}

 

 

 

 

 

 

 

123. 딕셔너리, split 활용

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

 

 

처음에는 if 문으로 길게 작성했다.

money = input("입력: ")

if money[-2:] == "달러":
  print(float(money[:-3])*1167,"원")

elif money[-1:] == "엔":
  print(float(money[:-2])*1.096,"원")

elif money[-2:] == "유로":
  print(float(money[:-3])*1268,"원")

elif money[-2:] == "위안":
  print(float(money[:-3])*171,"원")

 

 

그런데 딕셔너리와 split() 이용해서 보다 간결하게 해결 가능했다.

환율 = {"달러": 1167,
        "엔": 1.096,
        "유로": 1268,
        "위안": 171}

user = input("입력: ")
num, currency = user.split()

print(float(num) * 환율[currency], "원")

 

 

 

 

 

132. 아래 for문의 실행결과를 예측하라.
과일 = ["사과", "귤", "수박"]
 
for 변수 in 과일:
  print("#####")
 
 
 
정답)
 
#####
#####
#####
  • for문의 핵심은 "들여쓰기된 코드가 자료구조에 저장된 데이터 개수만큼 반복된다" 입니다.

 

  • 아래와 같은 과정이 일어남
  • 변수 = "사과" 바인딩
  • print("#####")
  • 변수 = "귤" 바인딩
  • print("#####")
  • 변수 = "수박" 바인딩
  • print("#####")

 

  • 아래와 같음
  • print("#####")
  • print("#####")
  • print("#####")

 

728x90