Page 9 -
P. 9
이 책의 구성
코딩을 처음 배우는 사람도 자세한 설명과 친절한 지시선으로 막힘없이 따라 할 수 있습니다.
기본 설명 외에도 팁, 노트 등을 적재적소에 배치해 완벽한 자율학습을 할 수 있게 이끕니다. 일
10.4
상 속 재미있는 예제로 문법을 익히고 1분 퀴즈, 실습 문제, 셀프체크로 이어지는 단계별 학습으
실행결과
num_list.sort() # 오름차순 정렬
print(num_list) [1, 2, 3, 4, 5]
로 개념을 완벽하게 이해할 수 있습니다. 이때 sort() 함수 안에 다음과 같이 추가하면 리스트를 내림차순으로 정렬할 수도 있습니다.
오류와 상관없이 무조건 실행하기: finally
num_list.sort(reverse=True) # 내림차순 정렬 실행결과
print(num_list) [5, 4, 3, 2, 1]
① 형식 ② 팁과 노트 5장 자료구조
마지막으로 리스트에 reverse() 함수를 사용하면 값의 순서를 거꾸로 뒤집을 수도 있습니다.
옷 가게에서 마음에 드는 옷을 사고 매장을 나서면 직원이 친절하게 감사하다는 인사를 합니다.
형식을 이해하고 활용하기 쉽게 기본 구문 정리 팁과 노트로 실습 시 생길 수 있는 의문점을 해결
때로는 여러 옷을 입어 보고도 사지 않고 그냥 나오는 경우도 있습니다. 이런 경우에도 직원은
num_list.reverse() # 순서 뒤집기 실행결과
여전히 감사 인사를 합니다. 옷을 사도, 사지 않아도 늘 감사하다고 하니 친절함이 고마워서라
print(num_list) [1, 2, 3, 4, 5]
도 다음 번에 방문할 때는 꼭 옷을 하나 사야겠다는 마음이 생기곤 합니다.
옷 가게 직원의 감사 인사와 같은 것이 파이썬에도 있습니다. 바로 finally입니다. finally
는 try 문에서 오류가 발생하든 말든 try 문을 벗어나는 시점에 무조건 실행되는 구문입니다. 10장 예외 처리 Note sorted( )로 리스트 정렬하기
finally는 try와 except로 이루어진 구문의 가장 밑에 정의합니다. 리스트를 정렬할 때 sorted() 함수도 사용할 수 있습니다. 단, sort() 함수는 정렬하면서 리스트 자체의 값
을 변경하지만, sorted() 함수는 원본 리스트 변경 없이 정렬된 리스트를 새로 생성합니다.
형식 try:
실행할 명령1 my_list = [1, 3, 2]
실행할 명령2 my_list.sort() # 리스트 정렬
... print(my_list) # my_list 리스트 데이터 변경
except 오류 종류1:
예외 처리 명령1 your_list = [1, 3, 2]
예외 처리 명령2 new_list = sorted(your_list) # 정렬할 리스트를 소괄호 안에 넣음
... print(your_list) # your_list 리스트 데이터는 변경되지 않음
except 오류 종류2: print(new_list) # 정렬된 새로운 리스트
예외 처리 명령1
예외 처리 명령2
... 실행결과
finally: [1, 2, 3]
리스트에서 함수 사용
Note 실행할 명령1 [1, 3, 2]
실행할 명령2 [1, 2, 3]
리스트에서 사용할 수 있는 함수 중에서 append(), insert(), clear(), sort(), reverse(), extend()
...
는 별도 문장으로 실행한 뒤에 변경된 리스트의 내용을 print() 문으로 출력했습니다. 그리고 index(),
pop(), count()는 print() 문 안에서 실행함과 동시에 값을 출력했습니다.
앞에서 만든 계산기 프로그램에 finally 문을 추가해 보겠습니다. 계산기를 이용하는 사람 모
별도 문장으로 실행하는 함수들은 수행한 후에 반환하는 값 없이 리스트 자체가 변경됩니다. 그래서 print 343
(subway.append("이요르"))라고 작성하고 실행하면 None이라는 값을 출력합니다. 반면에 print() 문
131
③ 1분 퀴즈 ④ 실습 문제
안에서 실행하는 함수들은 동작 수행 후에 어떤 값을 반환해서 이 값을 print() 문으로 출력한 것입니다. 다
른 자료구조에서도 마찬가지인데, 두 실행 방식은 함수의 반환값 유무에 따른 차이입니다. 해당 내용은 7.2 5장 자료구조
전달값과 반환값에서 자세히 배우겠습니다.
간단한 퀴즈 문제로 배운 내용 바로 확인 간단한 프로그램 문제로 기본 개념 이해
1분 퀴즈 해설 노트 p.405
5.6
1. 다음 중 리스트의 특징으로 올바른 것은?
① 같은 값의 중복을 허용한다.
② 빈 리스트는 생성할 수 없다.
③ 숫자면 숫자, 문자면 문자끼리만 넣을 수 있다. 실습 문제: 당첨자 뽑기
④ 리스트는 값들을 점으로 구분해 대괄호 안에 넣어 표시한다. 해설 노트 p.405
2. 다음 중 리스트에 해당하는 데이터로 올바른 것은?
① [1, 2, 3] ② {1, 2, 3} ③ (1, 2, 3) ④ {0:1, 1:2, 1:3}
3. 실행결과를 얻기 위해 가 에 들어갈 함수로 알맞은 것은? 문제를 풀며 지금까지 배운 내용을 복습해 보겠습니다. 먼저 문제를 직접 풀고 나서 해설을 확
인해 주세요.
langs = ["파이썬", "자바"] 문제 파이썬 코딩 대회가 열립니다. 참석률을 높이기 위해 댓글 이벤트를 진행했습니다. 댓글
실행결과
langs.가("C#")
['파이썬', '자바', 'C#'] 작성자 중에서 추첨을 통해 1명은 치킨 쿠폰, 3명은 커피 쿠폰을 주려고 합니다. 당첨자를
print(langs)
뽑는 추첨 프로그램을 작성하세요.
① add ② append ③ extend ④ insert 조건
1. 편의상 댓글은 20명이 작성했고, 아이디는 1~20이라고 가정한다.
2. 무작위로 추첨하되 중복은 허용하지 않는다.
008 3. random 모듈의 shuffle()과 sample() 함수를 활용한다.
133
4. 실행결과는 다음과 같이 표시하고 치킨 당첨자 1명, 커피 당첨자 3명을 뽑는다.
실행결과
-- 당첨자 발표 --
치킨 당첨자 : 6
커피 당첨자 : [9, 3, 10]
-- 축하합니다! --
힌트
퀴즈를 푸는 데 필요한 random 모듈의 shuffle() 함수와 sample() 함수의 사용법을 잠시 설명
하겠습니다.
152