본문 바로가기

프로그래밍/Python5

겹치지 않는 숫자 문제(3/3) ref : http://blog.readiz.com/112두번째를 하고 나니 코드가 나에게 외치고 있었다.'재귀함수로 바꿔주세요. 재귀함수로 바꿔주세요...'코드의 목소리를 외면할 수 없었다...ㅠ.ㅠ재귀함수를 잘 설계하면 리스트를 넣으면 가능한 조합의 리스트를 출력하는 것도 가능할 거 같다.quizS3.py 1 from quizS2 import isMatchCase 2 3 __iGotIt=False 4 def makeAvailableListCore(srcList=range(1, 10), dstList=[], length=len(range(1, 10)), callback=None): 5 global __iGotIt 6 7 if not len(dstList) == length: 8 for x in filt.. 2014. 3. 28.
겹치지 않는 숫자 문제(2/3) ref : http://blog.readiz.com/112두번째는 그냥 가능한 전체 리스트를 만들어서 검사.quizS2.py 1 from quiz import prettyPrint 2 3 def isMatchCase((a,b,c,d,e,f,g,h,i)): 4 tmp = (a*10+b)*c 5 6 if tmp>98: 7 return False 8 9 if not tmp == d*10+e: 10 return False 11 12 if not tmp+f*10+g == h*10+i: 13 return False 14 15 prettyPrint((a,b,c,d,e,f,g,h,i)) 16 return True 17 18 def getAllAvailableList(allRange=range(1, 10)): 19 iG.. 2014. 3. 28.
겹치지 않는 숫자 문제(1/3) http://blog.readiz.com/112에서 문제를 봤다. 나름 재밌는 문제 같아 나도 풀어봤다.핵심 아이디어는 코멘트로 적었다. 세가지 방법으로 했다.두번째는 그냥 가능한 전체 리스트를 만들어서 검사.두번째를 하고 나니 코드가 나에게 외치고 있었다.'재귀함수로 바꿔주세요. 재귀함수로 바꿔주세요...'코드의 목소리를 외면할 수 없었다...ㅠ.ㅠ재귀함수를 잘 설계하면 리스트를 넣으면 가능한 조합의 리스트를 출력하는 것도 가능할 거 같다.quiz.py 1 # -*- coding: cp949 -*- 2 ''' 3 [a...i] == [1...9] 4 5 a b 6 x c 7 ------- 8 d e 9 + f g 10 ------- 11 h i 12 13 1. [a, b, c, f, g] 5번 루프를 .. 2014. 2. 20.
file name encoding converter Samba로 윈도우/리눅스 파일을 옮기다 보면 cp949와 utf-8 인코딩된 파일/디렉토리 이름들 때문에 짜증이 날때가 있다. 원래는 그냥 그러려니 하고 썼었는데 파일/디렉토리 이름을 서브 디렉까지 찾아서 일괄 변환하는 파이썬 코드를 한번 짜봤다.나중에 Tkinter 기반으로 유틸처럼 보이게 만들어야 겠다.근데 지금도 내가 쓰는덴 큰 불편을 못느껴 바꿀 필요는 못 느낀다.bitbucket에 python accessory utility 프로젝트라도 운영해야 하나...todo. Tkinter GUI 화면 구성. ini 파일로 최종 선택 저장. Windows 환경에서 사용할 수 있는 방법은 없나? => 윈도의 경우 utf-8 이름으로 파일 create할때와 os.rename 에서 WindowsError ex.. 2014. 1. 22.
파일 이름 일괄 변환 만화 파일을 받았더니 파일이름 들이 'XXX (##).jpg' 등으로 되있어서 만화 보는 프로그램에서 순서대로 보여주질 못한다. 나중에 만화 보는 프로그램이나 하나 만들어야 겠다.우선 아쉬운대로 파일이름들을 내 입맛대로 바꿔 주는 스크립트을 하나 만들었다.Line 63 언저리의 파싱해서 파일 만드는 부분과 Line 84 언저리의 이름 바꾸기 적당히 고치면 언제나 빠르게 바꿀 수 있겠다.todo. 현재 선택 저장. 파일 변환 규격화. GUI Modify zip 파일에서 풀어서 변환하고 재압축 1 import Tkinter 2 import Tkconstants 3 import tkFileDialog 4 import tkMessageBox 5 import os, sys 6 7 __author__ = 'pn_j.. 2014. 1. 15.