정규표현식의 탐욕적 수량자와 게으른 수량자

이 포스트에서는 정규 표헌식에서 탐욕적 수량자와 게으른 수량자의 차이에 대해 설명합니다. 정규 표현식을 사용할 때 의도와는 달리 너무 넓은 범위가 검색되는 경우가 있는데 이 경우는 게으른 수량자를 사용해야 할 상황에서 탐욕적 수량자를 사용한 경우일 수 있습니다. 다음과 같은 파이썬 코드를 봅시다. import re strs = ‘[서울] [광명] [천안아산] [오송] [대전] [김천구미] [동대구] [신경주] [울산] [부산]’ … 더 보기 “정규표현식의 탐욕적 수량자와 게으른 수량자”

파이썬 ncurses 모듈 간단한 예제

※ 이 코드는 ncurses API가 있는 유닉스 기반 운영체제에서만 동작합니다. 혹시 사용하시는 운영체제가 윈도우즈라면, 리눅스를 가상 머신이나 라즈베리 파이 등에 설치해 놓고 실험하시기 바랍니다. 이 포스트에서는 파이썬에서 ncurses 모듈을 다루는 간단한 예제를 수록합니다. 우선, 아래 코드를 봅시다. #!/usr/bin/env python3 #-*- coding = utf-8 -*- import curses def main(stdscr): # Color Pair curses.use_default_colors() curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK) … 더 보기 “파이썬 ncurses 모듈 간단한 예제”

파이썬으로 바이오리듬 만들기

이 포스트에서는 파이썬으로 바이오리듬 보는 프로그램을 만드는 방법을 포스팅합니다. 바이오리듬에 관한 위키백과와 나무위키의 설명은 다음과 같습니다: [한국어], [영어], [나무위키] 바이오리듬에 대해 간단히 설명하자면, 인체에 신체, 감성, 지성의 3가지 주기가 있으며 이는 각각 23일, 28일, 33일 주기로 오르락내리락 하면서 사인 곡선을 그린다고 하는 주장입니다. 하지만 과학으로 보기에는 대단히 미흡하여 일종의 점술로 취급되고 있습니다. 각 주기를 구하는 … 더 보기 “파이썬으로 바이오리듬 만들기”

파이썬으로 여덟 개의 퀸 배치 문제 풀기

이 포스트에서는 파이썬으로 여덟 개의 퀸을 배치하는 문제를 푸는 프로그램을 만드는 방법을 설명합니다. 여덟 개의 퀸 배치 문제에 대한 위키백과 설명은 다음과 같습니다: [한국어], [영어] 여덟 개의 퀸 배치 문제는 1848년 막스 베첼(Max Bezzel)이 고안한 체스 퍼즐로, 다음과 같은 규칙을 가지고 있습니다. 8×8 크기의 체스판과 8개의 퀸을 준비합니다. 퀸이 움직일 수 있는 경로는 실제 체스와 … 더 보기 “파이썬으로 여덟 개의 퀸 배치 문제 풀기”

온도를 입력하면 다른 단위로 변환해 주는 파이썬 프로그램

이 포스트에서는 파이썬으로 온도를 입력하면 다른 단위로 변환해 주는 프로그램을 만들어 봅니다. 온도의 단위는 여러 단위가 있는데 그 중 가장 인지도 있는 단위는 섭씨, 화씨, 절대온도 이렇게 3가지입니다. 섭씨는 물의 삼중점을 0.01도(어는 점 0도)로 정의하고 끓는 점을 100도로 정의한, 우리나라(대한민국)을 포함한 세계 여러 나라에서 일상적으로 널리 쓰이고 있어 익숙한 단위입니다. 화씨는 미국에서 일상적으로 쓰고 있는 … 더 보기 “온도를 입력하면 다른 단위로 변환해 주는 파이썬 프로그램”

한글 완성자 분석하는 파이썬 코드

한글날에 한 포스트 작성합니다. 이 포스트는 파이썬에서 한글 완성자를 분석하는 포스트입니다. 유니코드에서 한글 완성자는 ‘가’부터 ‘힣’까지 모두 11172자가 있으며 ‘가’는 0xAC00(Dec 44032)에, ‘힣’은 0xD7A3(Dec 55203)에 배당되어 있습니다. 그리고 이는 과거에 널리 사용되었던 완성형(KS X 1001)과는 달리 DOS 시절 많이 쓰였던 조합형 코드처럼 오늘날의 한글 맞춤법 체계에서 조합 가능한 모든 글자들이 규칙적으로 배열되어 있다는 특징이 있습니다. … 더 보기 “한글 완성자 분석하는 파이썬 코드”

파이썬으로 로또 번호 생성기 만들기

파이썬의 랜덤 모듈을 이용해서 로또 번호를 생성하는 프로그램을 만들어 봅시다. 코드는 다음과 같습니다. import random gen_count = 5 # 생성할 개수 arr = [x for x in range(1, 46)] # 1부터 45까지 생성 for x in range(0, gen_count): random.shuffle(arr) # 섞기 arr_selected = arr[:6] # 6개만 선택 arr_selected.sort() # 선택된 번호를 정렬 print(arr_selected) # 출력 … 더 보기 “파이썬으로 로또 번호 생성기 만들기”

파이썬 배열 필터링하기

다음과 같은 파이썬 프로그램을 만들어 봅시다. 배열 arr_a에는 1부터 9까지의 자연수를 대입 배열 arr_b에는 arr_a에서 짝수만 추출하여 대입 위의 두 배열을 나란히 출력 이 프로그램을 다소 기초적인 방식으로 코딩하면 일단 다음과 같이 할 수 있겠습니다. arr_a = [1, 2, 3, 4, 5, 6, 7, 8, 9] arr_b = [] for x in arr_a: if x … 더 보기 “파이썬 배열 필터링하기”

정규 표현식으로 문자열 제한하기

정규 표현식(Regular Expression)을 이용해서 문자열을 제한하는 규칙을 만드는 방법을 포스팅합니다. 먼저, 문자열을 제한하는 규칙을 수립해 봅시다. 사용할 수 있는 문자는 숫자(0-9), 기본 라틴 알파벳(A-Z, a-z), 하이픈(-)과 언더바(_)로 제한. 첫 번째 글자는 기본 라틴 알파벳(A-Z, a-z)으로 제한. 정규 표현식을 가지고 이 두 가지 규칙을 정하기 위한 프로그램을 만들어 봅시다. 다음은 정규 표현식으로 위의 규칙을 구현하기 위한 … 더 보기 “정규 표현식으로 문자열 제한하기”

주석으로 파이썬 스크립트 명시하기

파이썬 코드를 보면 가끔 이런 형식의 코드가 있을 것입니다. #!/usr/bin/python print “Hello, world!” 위와 같이 맨 윗줄에 주석으로 #!/usr/bin/python 이렇게 있을 것입니다. 이는 리눅스에서 파이썬 스크립트를 실행하는 프로그램의 경로를 지정하는 것입니다. 이 예제에서는 파이썬이 설치된 경로가 /usr/bin이라고 가정하고 작성한 것입니다. 이 파일 이름을 hello.py라고 저장한 후 아래와 같이 chmod 명령어를 이용하여 실행 가능하게 퍼미션을 설정하고 … 더 보기 “주석으로 파이썬 스크립트 명시하기”