프로그래밍/Python 49

PyQt4 를 이용한 GUI 예제: 두 자리 수 곱셈 쉽게 하기

전개 공식 (ax + b)(cx + d) = acx^2 + (ad + bc)x + bd 에 기반을 둔 쉬운 곱셉법(일명 카라슈바 곱셈법)이다. 여기서 특히 a == b or a == c or b == d or c == d 인 경우이면 ad + bc = s(c + d) or ad + bc = a(b + d) or ad + bc = b(s + c) or ad + bc = c(a + b) 로 더 쉬운 곱셈 계산이 가능하다. #!/usr/bin/python # -*- coding: utf-8 -*- # Filename: ezMult_02.py # # Execute: python ezMult_02.py # # See: http://zetcode.com/gui/pyqt4/widgets2/ # See: http://..

PyQt 와 Qt Designer 를 이용한 Python GUI 애플리케이션 작성하기

* PyQt 내려받기: http://www.riverbankcomputing.co.uk/software/pyqt/download (Qt Designer 의실행 파일은 %Python27_HOME%\Lib\site-packages\PyQt4\Designer.exe 이다.) Qt Designer 는 Visual Studio 의 Visual Basic 개발 환경과 비슷한 Python GUI 개발 도구이다. 다음은 책 Hello World! Second Edition: Computer Programming for Kids and Other Beginners 의 제 20 장에 소개되어 있는 예제를 한국어로 번안한 것이다. Qt Designer 를 실행하여 다음과 같이 "새 폼" 창에서 "Main Window" 를 ..

Python 과 curses 를 이용한 카라슈바 곱셈 연습기

ncurses(또는 curses) 는 Linux/Unix 계열의 환경에서 VT100 등의 터미널과 호환되는 윈도우형 입출력 라이브러이다. 이를 이용하면 윈도우의 임의의 위치에 출력도 하고, 임의의 위치에서 입력을 받을 수도 있다. * 카라슈바 곱셈 참조 다음은 Linux 나 Cygwin 환경에서 파이썬 2.7.x 로 실행되도록 작성된 소스이다. # Filename: ezMult_003.py # # Execute: python ezMult_003.py # # Date: 2014. 1. 10. import curses import curses.textpad import random stdscr = curses.initscr() curses.start_color() # curses.nonl() curses.n..

이진 파일을 읽어서 16진수로 보여주는 HexView 소스 with Python

Python 언어 소스: # Filename: testHexView_03.py # # Execute: python testHexView_03.py [filename] # Execute: ipy testHexView_03.py [filename] import os import sys def toHex(b): s = "" x1 = (b & 0xF0) >> 4 x2 = b & 0x0F if x1 < 10: s += chr(x1 + ord('0'[0])) else: s += chr((x1 - 10) + ord('A')) if x2 < 10: s += chr(x2 + ord('0')) else: s += chr((x2 - 10) + ord('A')) return s def toHex8(n): s = "" x1 =..

Python 언어로 작성하여 실행해 본 OpenGL 예제: Redbook 의 Teapots

아래의 파이썬용 소스를 실행시키자면 PyOpenGL 을 먼저 설치해야 한다. 소스의 구조는 C 언어 용으로 작성된 teapots,c 의 것과 거의 유사하다. # Filename: teapots.py # # See Wiki: http://www.de-brauwer.be/wiki/wikka.php?wakka=PyOpenGL # See Source: http://www.de-brauwer.be/wiki/wikka.php?wakka=PyOpenGLHelloWorld # See C Source: http://www.glprogramming.com/red/chapter03.html from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLU import * ..

Python 언어로 작성하여 실행해 본 OpenGL 예제: Redbook 의 Cube

아래의 파이썬용 소스를 실행시키자면 PyOpenGL 을 먼저 설치해야 한다. 소스의 구조는 C 언어 용으로 작성된 cube,c 의 것과 거의 유사하다. # Filename: cube.py # # See Wiki: http://www.de-brauwer.be/wiki/wikka.php?wakka=PyOpenGL # See Source: http://www.de-brauwer.be/wiki/wikka.php?wakka=PyOpenGLHelloWorld # See C Source: http://www.glprogramming.com/red/chapter03.html from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLU import * def in..

Python 언어로 평방근, 입방근, n제곱근 구하는 함수를 구현하고 테스트하기

음이 아닌 실수 A 의 평방근 sqrt(A) 를 구하는 Heron 의 방법: 반복함수 g(x) = (x + A/x) / 2 를 이용 실수 A 의 n제곱근 root(n, A) 를 구하는 Newton-Raphson 의 방법 반복함수 g(x) = ((n-1)*x + A/(x**(n - 1))) / n 를 이용 n = 2 인 경우에는 Newton-Raphson 의 방법이 Heron 의 방법과 동일하다. (참조. http://en.wikipedia.org/wiki/Newton's_method ) Python 언어에는 지수 연산자 ** 를 (밑수)**(지수) 의 형식으로 언어 자체에서 지원하고 있다. 하지만 차후 필요한 데가 있을 것 같아서 이와 유사한 n 제곱 함수와 n 제곱근 함수를 구현해 보았다. 지수가 정수..

Python 언어로 scipy, numpy, mpmath 모듈을 이용하여 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, Python 언어에서는 math.asin() 함수로 이미 구현되어 있다. 이를 사용하기 위해서는 import 구문 import math 가 있으면 된다. 그러나 scipy 나 numpy 모듈을 사용할 때는 얘기가 달라진다. sin 함수의 역함수가 scipy 모듈에서는 scipy.arcsin 으로, numpy 모듈에서는 numpy.arcsin 으로 구현되어 있다. (asin 이 아니라 arcsin 임에 주의하자.) 한편 mpmath 모듈에서는 mpmath.asin 으로 구현되어 았다. 이들 이용하기 위해서는 import 구문 import scipy 또는 i..

Python 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, Python 언어에서는 math.asin() 함수로 구현되어 있다. 이를 사용하기 위해서는 구문 import math 이 필요하다. 다음 소스는 Python, Jython, IronPython 중 어느 것으로 실행해도 같은 결과를 얻는다. 특히 IronPython 으로는 옵션 /target:exe 를 사용하여 컴파일하면 실행파일 testArcSine.exe 및 testArcSine.dll 파일을 얻는다, dll 파일이 있어야 exe 파일이 실행된다. # -*- encoding: utf-8 -*- # Filename: testArcSine.py # # Ex..