파이썬으로 factorial 구하기

  작년 이맘때 factorial을 구하는데 코드를 엄청 길게 썼던 것으로 기억난다. 한 페이지 넘게?
BioXP 워크샵인데 사람들 앞에서 발표까지 했다.
  그러다가 몇달 후에 '테스트주도 개발'을 읽는데 부록을 보고 충격을 받았다. 어처구니 없이 쉽게 구하던 것이었다.
책을 읽으면서 얼굴이 화끈거릴 정도로 엄청 창피했었다.
그 워크샵에서 발표할때 사람들이 얼마나 속으로 웃었을까?

  어제 SICP 스터디를 하다가 factorial을 구할 일이 있어서 작성한 코드다. else에서 return을 빼먹어서 1분 걸렸나?

def fact(n):
    if n <= 1:
        return 1
    else:
        return n * fact(n-1)

  재귀호출이라서 n이 커지면(1000이상) 오류가 발생하지만 답 확인용으로 작성했다.

  다행히도 지난 1년간 성장했나보다...

  fact(10) = 10! = 10 * 9 * 8 * ... * 3 * 2 * 1 = 3628800

ps. 생각해보니 워크샵에서 했던 건 factorial이 아니라 피보나치 수열을 구하는 코드였다.
     나중에 테스트 주도 개발 부록 B를 보고 쓰러지는 줄 알았다.

by Solid_One | 2009/03/11 14:05 | 일상 | 트랙백 | 덧글(0)

Introduction to Computing and Programming in Python: A Multimedia Approach

   도서관에서 파이썬 관련해서 빌린 책 중 하나다. 조지아 공대에서 교재로 삼고 있는 책이다.

   이 책의 특징은 대학 교재 답지 않게 쉽다. 재미가 있다. 프로그래밍을 배우는 것보다는 부제에 나와 있듯이 파이썬을 통해 그림에 필터 효과를 주고 음성파일을 조작하는 방법을 통해 배울 수 있도록 구성되어 있다.

   JES 라고 Jython Environment for Student라는 개발환경을 제공한다. 윈도우, 맥을 지원한다. 다운로드

 PS. 저자 이름이 낮익길래 찾아 봤더니  Squeak: Object-Oriented Design with Multimedia 를 쓰신 분이다. 스퀵 입문서로 유명(?)한 책인데 멀티미디어 전문교수님인 듯 하다.

 PS 2. 자체 라이브러리를 쓰기 때문에 실전용하고는 거리가 멀다. 그냥 입문자를 위한 학습용이다.

by Solid_One | 2009/02/04 15:49 | 책읽기 | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶