00 파이썬(Python) 프로그래밍 연습
원문 : http://kkamagui.springnote.com/pages/391698
들어가기 전에...
- 이 글은 kkamagui에 의해 작성된 글입니다.
- 마음껏 인용하시거나 사용하셔도 됩니다. 단 출처(http://kkamagui.tistory.com, http://kkamagui.springnote.com)는 밝혀 주십시오.
- 기타 사항은 mint64os at gmail.com 이나 http://kkamagui.tistory.com으로 보내주시면 반영하겠습니다.
- 상세한 내용은 책 "64비트 멀티코어 OS 구조와 원리"를 참고하기 바랍니다.
첫번째 프로그램 : input, if, while
- # 이건 내 첫번째 파이썬 플그램이다 @0@)/~!!
# ;는 안붙여도 상관없다. ()도 없어도 상관없다.
# 문자열은 ''로 감싸던지 ""로 감싸자.
i = input("loop Count"); - # 들여쓰기된 부분은 다 if나 else의 영향을 받는단다.
if i >= 10 :
print "Too big"
exit();
else :
print "OK" - while i < 10:
i = i + 1;
print i,
password = raw_input("Password");
while password != 'User':
print 'Password is not match'
password = raw_input("Password Retype");
print 'End'
두번째 프로그램 : 함수
- # 두번째 프로그램
# 함수 생성 예제, 우와 간단하다 @0@)/~
def abs( num ):
if( num < 0 ):
num = -num;
return num; - a = 3;
a = abs( a );
print a; - a = -1;
a = abs( a );
print a;
세번째 프로그램 : list, range
- #세번째 프로그램 리스트 프로그램
nameList = ["KKAMAGUI", "NANMAGUI", "NUMAGUI" ]; - index = input( "Input Index" );
print nameList[ index ]; - nameList.append( "GAMAGUI" );
print nameList; - nameList.sort();
print nameList; - if( "NAMAGUI" in nameList ):
print "NAMAGUI is in list"
elif( "NANMAGUI" in nameList ):
print "NANMAGUI is in list"
else:
print "NAMAGUI is not in list"
print "List Length", len(nameList);
print "NANMAGUI Index is", nameList.index( "NANMAGUI" );
del nameList[ 2 ];
nameList.remove( "KKAMAGUI" ); - print nameList;
- print range( 1, 10 );
네번째 프로그램 : module
- #네번째 프로그램
#달력 출력 예제
import calendar;
from calendar import prcal; - print "Calendar Print###############";
calendar.prcal(2007);
prcal(2007);
#OS 관련...
import os;
#import os.path;- print "OS Print###############";
a = "";
a = os.path.abspath( a );
print a;
a = os.path.dirname( a );
print a; - a = "";
os.chdir( "d:/" );
a = os.path.abspath( a );
print a; - #시간 관련
import time; - print "Time Print###############";
timeString = time.ctime( time.time() );
print timeString;
다섯번째 프로그램 : for, buffer, split
- #다섯번째 프로그램
- a = "abcdefghijklmn";
for ch in a:
print ch;
print a.index( ch );
print a[ 2 : 20 ]; - # 끝에서 하나를 뺀다.
a = a[ : -1 ];
print a;
[ b, c ] = a.split( "f" );
print b, "+", c; - # 위의 String의 출력결과
#cdefghijklmn
#abcdefghijklm
#abcde + ghijklm
여섯번째 프로그램 : urllib로 http 코드 얻기
내 블로그에 접근해서 최근 덧글부터 뒷부분만 추려서 화면에 출력하는 예제(pyscriptor라는 에디터를 썼다가 한글이 안나와서 삽질.. ㅠ_ㅠ)/~!! ) 가만히 생각해 보니 뒤에서 찾으면 금방 될꺼 같기도 한데.. ㅋㅋ
- # -*- coding: cp949 -*-
#여섯번째 프로그램
import urllib - urlHandle = urllib.urlopen( "http://kkamagui.egloos.com" );
buffer = urlHandle.read();
#print buffer; - text = "최근 등록된 덧글";
uniText = unicode( text, "euc-kr" );
text = uniText.encode( "utf-8" );
#print text; - if text in buffer:
index = buffer.index( text ) + len( text );
print "First Index", index;
while text in buffer[ index : ]:
newIndex = buffer[ index : ].index( text );
if( newIndex == -1 ):
break;
index = newIndex + index + len( text );
print "New Index", index;
print buffer[ index : ]; - else:
print "FAIL";
일곱번째 프로그램 : 파일 입출력
seek와 readline(), readlines() 테스트
- # -*- coding: cp949 -*-
#일곱번째 프로그램
sourceFile = open( "c:/test.txt", "r" );
targetFile = open( "c:/testOutput.txt", "w" ); - buffer = sourceFile.read();
print "읽기의 결과#######";
print buffer; - #seek
sourceFile.seek(0, 0 ); - # 각 라인별로 라인 번호를 출력해 준다.
i = 0;
for buffer in sourceFile.readlines():
# printf의 식처럼 쓸수 있다. %와 ,를 찍는 위치를 잘 보자
newBuffer = "%02d %s" %( i, buffer );
# 이 부분은 buffer안의 단어별로 루프를 도는 부분이다.
for word in buffer.split():
print word;
targetFile.write( newBuffer );
i++;
sourceFile.close();
targetFile.close(); - for i in range( 0, 10 ):
print i;
이 글은 스프링노트에서 작성되었습니다.
'프로그래밍(Programming)' 카테고리의 다른 글
00 윈도우 프로그래밍 팁 (0) | 2007.11.14 |
---|---|
01 파이썬(Python) 팁 (0) | 2007.11.14 |
블로그에 문법 하일라이트(Syntax Highlight)를 넣는 방법 (2) | 2007.11.14 |
[개발] 크헉.. CVS의 배신.. ㅡ0ㅡ;;;; (0) | 2004.10.07 |
[개발] 음.. 좀 오바했나.. ㅡ0ㅡ;;;; (0) | 2004.09.22 |