프로그래밍/Python 49

황금비율(golden ratio) 구하기 with Python or Jython

다음은 이차방정식 x^2 - x - 1 = 0 의 양의 근 즉 황금비율(golden ratio)을 구하는 Python 애플리케이션 소스이다. 황금비율을 구하는 비례방정식은 1 : x = x : (x+1) 이며, 이를 이차방정식으로 표현한 것이 x^2 - x - 1 = 0 이다. See: http://en.wikipedia.org/wiki/Golden_ratio # -*- encoding: ms949 -*- # Filename: testGoldenRatio.py # 황금률(즉, 이차방정식 x^2 - x - 1 = 0 의 양의 근)을 계산한다. # # Execute: python testGoldenRatio.py # # Date: 2008/03/24 # Author: PH Kim [ pkim (AT) scr..

현재 시각 알아내기 for Python, Jython, and IronPython

현재 시각을 컨솔에 보여주는 간단한 애플리케이션의 Python 언어 소스 코드이다. UTC란 1970년 1월 1일 0시 0분 0초를 기준으로 하여 경과된 초 단위의 총 시간을 의미한다. * UTC(Universal Time Coordinated, 협정세계시, 協定世界時) # -*- encoding: ms949 -*- # Filename: testCTime.py # Execute: python testCTime.py from time import * # Python case weekNames = [ "월", "화", "수", "목", "금", "토", "일" ] utctime = time() cNow = localtime(utctime) # 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초 ..

조립제법(Horner의 방법) 예제 for Python

다항식 p(x) 를 1차 다항식 x - a 로 나눌 때의 몫과 나머지를 구하는 조립제법을 Python 언어로 구현해 보았다. 조립제법은 일명 Horner의 방법이라고도 불리우는데, 이는 x = a 에서 다항식 p(x)의 값 p(a)을 계산하는 가장 빠른 알고리즘이기도 하다. p(x) = (x - a)q(x) + r 여기서 r은 나머지이며 r = p(a) 이다. 또 q(x)는 몫이다. [참고] * 온라인으로 조립제법 표 만들기 손으로 계산하는 조립제법 표 * 온라인으로 구하는 다항식의 도함수: 조립제법을 이용한 다항식의 도함수 아래의 소스파일은 Groovy용 소스파일 testSyntheticDivision.groovy 를 Python용으로 수정한 것이다. python 대신 jython이나 IronPytho..

80컬럼 컨솔에 19단표 출력하기 예제 for Python

다음은 Groovy용 소스파일 testForFor.groovy를 Python용으로 수정한 것이다. Python 언어에서 print 문은 Groovy 언어의 println 문 처럼 개행(newline) 문자를 포함하여 출력한다. Groovy 언어와 Java 언어에서 쓰이는 조건 분기 구문 if (조건식1) { 블럭1 } else if (조건식2) { 블럭2 } else if (조건식3) { 블럭3 } else { 블럭4 } 에 해딩하는 Python 언어의 구문은 if 조건식1: 블럭1 elif 조건식2: 블럭2 elif 조건식3: 블럭3 else: 블럭4 이다. 또 아래의 소스의 첫 줄에 적힌 # coding:euc-kr 은 # -*- encoding: euc-kr -*- 로 해도 된다. (이는 소스 중에..

(최대공약수 구하기) while... 반복문 예제 for Python

소스 파일명: testWhile.py # coding=euc-kr # Filename: testWhile.py # # Purpose: Example using the while loop syntax # while .... # # Execute: python testWhile.py -200 300 # import sys # 사용법 표시 def printUsage(): print "Using: python testWhile.py [integer1] [integer2]" print "This finds the greatest common divisor of the given two integers." if len(sys.argv) != 3: printUsage() sys.exit(1) # -----------..

if...else... 조건문 사용 예제 for Python

소스 파일명: testIf.py # coding=euc-kr """ Filename: testIf.py Purpose: Example using the conditional control structure syntax if .... else ... Execute: python testIf.py [number] """ import sys # sys.argv를 위한 수입(import) 구문 # 사용법을 보여주는 함수 def printUsing(): print("Using: python testIf.py [number]") print("This determines whether the number is positive or not.") # 명령행 인자의 개수가 1이 아니면 사용법을 보여준다. if len(sy..

명령행 인자 처리 예제 for Python and Jython

Python 언어에서 명령행 인자는 sys.argv 라는 변수로 처리한다. sys.argv는 모듈 sys에 속하는 변수 argv를 의미하며, 이는 명령행 실행시 옵션으로 입력된 인자들을 스트링 값으로 모아둔 리스트형의 변수이다. 모듈 sys을 하기 위해서는 import sys 라는 수입(import) 구문을 소스 선두 부분에 적어주어야 한다. C/C++/Java/Ruby 언어들과는 달리 리스트의 0번의 값(즉 sys.argv[0])은 python 명령 바로 다음에 입력된 (실행될) Python 소스파일명을 가리키므로, 1번부터 처리해야 한다. 즉 Python 언어에서 sys.argv[1], sys.argv[2], sys.argv[3], ... 들이 각각 C 언어의 argv[0], argv[1], argv..

구구단 출력 예제 for Python and Jython

Python(및 Jython) 언어의 함수 정의 구문 양식은 def functionName(parameters): block 이다. 또 Python(및 Jython) 언어의 반복문 양식은 for varName in Range: block 이다. 소스 파일명: forTest.py ------------------------------[소스 시작] def printDan(dan): for i in range(1, 10): print "%d x %d = %d" % (dan, i, dan*i) printDan(2) ------------------------------[소스 끝] 실행> python forTest.py (또는 jython forTest.py) 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6..

Hello 예제 for Python

컨솔에 문자 출력하는 python 구문은 print "문자열(스트링)" 이다. 여기서 개행문자 "\n"은 추가하지 않아도 된다. (Jython의 문자 출력 구문도 위와 같다.) 소스 파일명: hello.py ------------------------------[소스 시작] print "Hello, world!" ------------------------------[소스 끝] 실행> python hello.py Hello, world! * Jython으로 실행하는 경우: 실행> jython hello.py Hello, world! * IronPython으로 실행하는 경우: 실행> ipy hello.py Hello, world!