더북(TheBook)

14.12 연습문제

연습문제 14-1

패턴 문자열, 대체 문자열, 두 파일 이름을 인수로 받는 sed 함수를 작성하라. 이 함수는 첫 번째 파일을 읽고 두 번째 파일에 내용을 써야 한다(필요하다면 파일을 생성하라). 패턴 문자열이 파일의 어디에 있어도 대체 문자열로 바꿔야 한다.

파일의 열기, 읽기, 쓰기, 닫기 과정에서 오류가 발생한다면 프로그램은 예외를 잡아서 오류 메시지를 출력하고 종료해야 한다.

해법: http://thinkpython2.com/code/sed.py

연습문제 14-2

연습문제 12-2에 대한 나의 해법을 http://thinkpython2.com/code/anagram_sets.py에서 받았다면 정렬된 문자열에서 해당 문자로 철자를 만들 수 있는 단어 목록으로 연결(map)한 사전을 생성하는 것을 봤을 것이다. 예를 들어 'opst'['opts', 'post', 'pots', 'spot', 'stop', 'tops'] 리스트에 연결된다.

anagram_sets를 임포트하고, 두 가지 새로운 함수를 제공하는 모듈을 작성하라. store_anagrams 함수는 shelf에 애너그램 사전을 저장해야 한다. read_anagrams는 단어를 찾고, 단어의 애너그램 리스트를 반환해야 한다.

해법: http://thinkpython2.com/code/anagram_db.py

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.