"C로 배우는 알고리즘"는 1994년에 1판이 출간되었고, 제가 가지고 있는 책은 2001년판입니다. 그래서 책 맨 뒤에 3.5인치 플로피 디스크가 붙어 있습니다. 그래서 간단한 예를 위해서 ASCII와 gotoxy()등을 사용하고 있습니다.
그런데, Python에서는 기본적으로 Terminal 관련 기능을 제공하지 않습니다. 이를 사용하기 위해서 "curses"라는 모듈을 설치/사용해 보았습니다. 1
"curses" 모듈 사용을 위해서 아래와 같이 진행했습니다. 2
1. 현재 사용하고 있는 Python의 version 을 윈도우 cmd 창에서 아래 명령어로 확인했습니다.
C:\ python --version
Python 3.6.5
즉, Python version은 3.6.5임을 확인했습니다.
2. "curses" 모듈 홈페이지에서 적절한 파일을 다운로드합니다. 블로그 3 내용을 참고해서 "curses-2.2+utf8-cp36-cp36m-win_amd64.whl"을 다운로드하고, Python을 위한 pip가 있는 폴더(보통 Python이 있는 위치의 scripts 폴더에 위치합니다)에 복사합니다. 4
3. 윈도우 cmd창에서 pip가 있는 폴더로 이동해서 "pip install" 명령으로 설치합니다.
c:\>pip install curses-2.2-cp36-cp36m-win_amd64.whl
Processing c:\python36\scripts\curses-2.2-cp36-cp36m-win_amd64.whl
Installing collected packages: curses
Successfully installed curses-2.2
4. 아래와 같은 예제 코드를 사용해서 시험합니다.
import curses
stdscr = curses.initscr()
# Clear screen
stdscr.clear()
stdscr.addstr(10, 5, "First Position(10, 5)")
stdscr.addstr(20, 5, "Second Position(20, 5)")
stdscr.addstr(5, 20, "Third Position(5, 20)")
stdscr.refresh()
stdscr.getkey()
5. 그런데, Pycharm에서는 "Redirection is not supported." 메시지만 확인되고, 동작을 확인할 수 없습니다. Pycharm등의 GUI가 Terminal을 지원하지 않기 때문이라고 합니다. 5
6. 윈도우 cmd 창에서 "python 파일명"으로 동작을 확인할 수 있었습니다.
이상으로 Python을 위해서 curses 모듈을 설치/시험해 보았습니다.
- https://stackoverflow.com/questions/21330632/pythonic-alternative-of-gotoxy-c-code 참조 [본문으로]
- https://docs.python.org/3/howto/curses.html [본문으로]
- https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses [본문으로]
- https://margaretsoftware.wordpress.com/2015/12/05/%EC%9C%88%EB%8F%84%EC%9A%B0-64-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%97%90%EC%84%9C-numpy-%EC%84%A4%EC%B9%98/ [본문으로]
- https://stackoverflow.com/questions/16740385/python-curses-redirection-is-not-supported [본문으로]
'프로그래밍 > Python 초보자가 작성하는 "C로 배우는 알고리즘"' 카테고리의 다른 글
[03-1] 미로에 갖힌 생쥐 - 3/3 (0) | 2018.04.30 |
---|---|
[03-1] 미로에 갖힌 생쥐 - 2/3 (1) | 2018.04.29 |
[03-1] 미로에 갖힌 생쥐 - 1/3 (2) | 2018.04.29 |
[01-3] 에라토스테네스의 체 (0) | 2018.04.28 |
[01-2] 소수를 구하는 알고리즘 (0) | 2018.04.28 |