양식은 제한 없으니 내용 자유롭게 채워주세요!

#이론 문제 1번 [10점]

[1~3] spring = {4:"벚꽃", 5:"목련"} 일 때 맞는지 아닌지 고르시오. (4점)

1.print(cabinet[4])를 입력하면 '목련'이 입력된다. (1점)
2.print(cabinet.get(3))
print ("flower") 를 입력하면 none이 입력된다. (2점)
3. print(cabinet[7])를 입력하면 오류가 생긴다. (1점)

[4~6] drama = ["김지원","김수현","박성훈"] 일 때 맞는지 아닌지 고르시오. (4점)

4. print(drama.index("김수현"))을 입력했을 때 2로 출력된다. (1점)
5. drama.append("곽동연")을 하면 제일 앞에 추가된다. (1점)
6. drama.insert(2,"곽동연")을 하면 김지원과 김수현 사이에 넣을 수 있다. (2점)

7. sing = {"백예린","권진아","아이유","제니"}
dance = set(["아이유","제니","화사"]) 일 때
print(sing.intersection(dance)) 하면 제니가 출력된다. 를 보고 맞는지 아닌지 고르고 만약 틀렸다면 맞는 답으로 고치시오. (2점)

1. X - spring 딕셔너리를 cabinet으로 잘못 표기.
2. O - .get() 메서드는 해당 키가 존재하지 않을 때 None을 반환.
3. X - 존재하지 않는 키에 접근하면 KeyError.
4. X - "김수현"은 인덱스 1에 있다. 따라서 출력은 1
5. X - .append() 메서드는 리스트의 끝에 요소를 추가.
6. O - .insert() 메서드를 사용하면 리스트의 특정 위치에 요소를 삽입.
7. O - .intersection() 메서드는 두 집합의 교집합을 반환하며, 제니만 두 집합에 포함.
#이론 문제 2번 [10점]
1. max 함수에 [1, 2, 3, 3, 3] 을 넣어 출력하면 3 이 출력된다. (1점)
2. print 함수의 sep 매개변수를 "-" 로 설정하여 ["a", "b", "c"] 를 출력하면 a-b-c 와 같이 출력된다. (2점)
3.dictionary 변수에 {"a": 123, "b": 456} 를 저장하여 dictionary.values()[0] 를 출력하면 123 이 출력된다. (2점)
4. 빈 리스트, 즉 [] 에 pop 함수를 사용하면 None 값이 출력된다. (2점)
5. {4, 3, 2, 1} 를 list 로 형변환을 한 결과와, [4, 3, 2, 1] 에 sort() 함수를 사용한 결과의 출력값은 서로 동일하다. (3점)

1. O - 주어진 리스트 중 가장 큰 값은 3이다.
2. O - print() 함수의 sep 매개변수를 설정하면 각 요소 사이에 지정한 문자가 삽입.
3. X - dictionary.values()는 dict_values 객체를 반환하며, 인덱스로 접근할 수 없다. 딕셔너리 값에 접근하려면 키를 사용해야 한다.
4. X - 빈 리스트에서 pop() 함수를 사용하면 IndexError가 발생한다.
5. O - 집합과 리스트를 변환한 후에 sort() 함수를 사용하여 정렬하면 결과가 동일하다.
#실습 문제 1번 [15점]
세종대학교 카페 5곳의 아메리카노 가격을 
1. 돌빵: 2500
2. 카페드림: 3500
3. 결: 4000
4. 파리바게트: 4300
5. 투썸플레이스: 5000
이라 할때 가격이 높은 순서대로 카페 이름을 리스트에 저장 후, 그 뒤에 가격 순위대로 리스트를 하나 더 만들어 추가해서 출력하시오. [15점]

*처음 변수 cafe에 튜플 형식으로 투썸플레이스, 파리바게트, 카페드림 순서대로 저장한 후 자료 구조 변경을 이용해 구하시오.
*가격을 변수에 저장할때 가격이 높은 순서대로 넣지 마시오.

출력 예시
['투썸플레이스', '파리바게트', '결', '카페드림', '돌빵', 5000, 4300, 4000, 3500, 2500]

append 함수를 쓰지 않으면 -2점
insert 함수를 쓰지 않으면 -2점
sort와 reverse 함수를 쓰지 않으면 -2점
extend 함수를 쓰지 않으면 -2점 

# 처음 변수 cafe에 튜플 형식으로 투썸플레이스, 파리바게트, 카페드림 순서대로 저장한 후 자료 구조 변경을 이용해 구함
cafe = ("투썸플레이스", "파리바게트", "카페드림")

# 가격 리스트 생성
prices = [5000, 4300, 3500, 2500]

# 가격을 기준으로 내림차순 정렬
prices.sort(reverse=True)

# 가격이 높은 순서대로 카페 이름을 리스트에 저장
cafes = list(cafe)

# 가격 순위대로 리스트를 추가하여 출력
cafes.extend(prices)

print(cafes)

출력:
['투썸플레이스', '파리바게트', '카페드림', 5000, 4300, 3500, 2500]

#실습 문제 2번 [15점]
영희와 철수는 13시 30분에 시작하는 3D 영화를 보러가기 위해 각각 J3열과 J4열 좌석을 예매했다. 자료형의 변수명은 seat를 사용한다. 
하지만 영희와 철수는 자리를 옮기기 위해 예매를 취소하고 다시 좌석을 예매하려고 한다. 
이때 처음 예매했던 영희와 철수의 좌석 취소한 것을 출력한 뒤, 새롭게 예매할 좌석의 번호를 입력 받고 값을 출력한다. 예시: E5열, E6열 (좌석은 A1열부터 G10열까지 자유롭게 입력 받는다.) 
좌석을 새롭게 예매한 뒤 time, seat, name 변수를 이용하여 시간, 좌석, 예매자 순으로 예매표를 한 번에 출력하라. (조건 : 튜플을 사용할 것) [15점]

[출력예시]
   {'J3': '영희', 'J4': '철수'}
   {}
   {'E5': '영희', 'E6': '철수'}
   시간: 13시 30분 좌석: E5 예매자: 영희
   시간: 13시 30분 좌석: E6 예매자: 철수
   
   # 처음에 예매한 좌석 정보
seat = {'J3': '영희', 'J4': '철수'}

# 예매 취소 후 출력
canceled_seats = seat.copy()
seat.clear()
print(seat)
print(canceled_seats)

# 새로운 좌석 예매
new_seats = {}
new_seats[input("새로운 좌석을 입력하세요 (예: E5열, E6열): ")] = '영희'
new_seats[input("새로운 좌석을 입력하세요 (예: E5열, E6열): ")] = '철수'

# 예매표 출력
for key, value in new_seats.items():
    print(f"시간: 13시 30분 좌석: {key} 예매자: {value}")
    
    
        
출력:
{}
{'J3': '영희', 'J4': '철수'}
시간: 13시 30분 좌석: E5 예매자: 영희
시간: 13시 30분 좌석: E6 예매자: 철수