2007. 11. 14. 17:34
     

00 파이썬(Python) 프로그래밍 연습

원문 :  http://kkamagui.springnote.com/pages/391698

 

들어가기 전에...

 

첫번째 프로그램 : input, if, while

  1. # 이건 내 첫번째 파이썬 플그램이다 @0@)/~!!
    # ;는 안붙여도 상관없다. ()도 없어도 상관없다.
    # 문자열은 ''로 감싸던지 ""로 감싸자.
    i = input("loop Count");
  2. # 들여쓰기된 부분은 다 if나 else의 영향을 받는단다.
    if i >= 10 :
        print "Too big"
        exit();
    else :
        print "OK"
  3. 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'

 

두번째 프로그램 : 함수

  1. # 두번째 프로그램
    # 함수 생성 예제, 우와 간단하다 @0@)/~
    def abs( num ):
        if( num < 0 ):
            num = -num;
        return num;
  2. a = 3;
    a = abs( a );
    print a;
  3. a = -1;
    a = abs( a );
    print a;

 

세번째 프로그램 : list, range

  1. #세번째 프로그램 리스트 프로그램
    nameList = ["KKAMAGUI", "NANMAGUI", "NUMAGUI" ];
  2. index = input( "Input Index" );
    print nameList[ index ];
  3. nameList.append( "GAMAGUI" );
    print nameList;
  4. nameList.sort();
    print nameList;
  5. 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" );
  6. print nameList;
  7. print range( 1, 10 );

 

네번째 프로그램 : module

  1. #네번째 프로그램
    #달력 출력 예제
    import calendar;
    from calendar import prcal;
  2. print "Calendar Print###############";
    calendar.prcal(2007);
    prcal(2007);

  3. #OS 관련...
    import os;
    #import os.path;
  4. print "OS Print###############";
    a = "";
    a = os.path.abspath( a );
    print a;
    a = os.path.dirname( a );
    print a;
  5. a = "";
    os.chdir( "d:/" );
    a = os.path.abspath( a );
    print a;
  6. #시간 관련
    import time;
  7. print "Time Print###############";
    timeString = time.ctime( time.time() );
    print timeString;

 

다섯번째 프로그램 : for, buffer, split

  1. #다섯번째 프로그램
  2. a = "abcdefghijklmn";
    for ch in a:
        print ch;
        print a.index( ch );
       
    print a[ 2 : 20 ];
  3. # 끝에서 하나를 뺀다.
    a = a[ : -1 ];
    print a;
    [ b, c ] = a.split( "f" );
    print b, "+", c;
  4. # 위의 String의 출력결과
    #cdefghijklmn
    #abcdefghijklm
    #abcde + ghijklm

 

여섯번째 프로그램 : urllib로 http 코드 얻기

 내 블로그에 접근해서 최근 덧글부터 뒷부분만 추려서 화면에 출력하는 예제(pyscriptor라는 에디터를 썼다가 한글이 안나와서 삽질.. ㅠ_ㅠ)/~!! ) 가만히 생각해 보니 뒤에서 찾으면 금방 될꺼 같기도 한데.. ㅋㅋ

  1. # -*- coding: cp949 -*-
    #여섯번째 프로그램
    import urllib
  2. urlHandle = urllib.urlopen( "http://kkamagui.egloos.com" );
    buffer = urlHandle.read();
    #print buffer;
  3. text = "최근 등록된 덧글";
    uniText = unicode( text, "euc-kr" );
    text = uniText.encode( "utf-8" );
    #print text;
  4. 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 : ];
  5. else:
        print "FAIL";

 

일곱번째 프로그램 : 파일 입출력

 seek와 readline(), readlines() 테스트

  1. # -*- coding: cp949 -*-
    #일곱번째 프로그램
    sourceFile = open( "c:/test.txt", "r" );
    targetFile = open( "c:/testOutput.txt", "w" );
  2. buffer = sourceFile.read();
    print "읽기의 결과#######";
    print buffer;
  3. #seek
    sourceFile.seek(0, 0 );
  4. # 각 라인별로 라인 번호를 출력해 준다.
    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();
  5. for i in range( 0, 10 ):
        print i;

 

이 글은 스프링노트에서 작성되었습니다.


Android App

Posted by 호기심 많은 kkamagui(까마귀, 한승훈)

댓글을 달아 주세요

  1. Favicon of http://dhkdwisla.tistory.com BlogIcon 왕쟈님 2009.06.11 00:39 신고  댓글주소  수정/삭제  댓글쓰기

    파이썬은 자바보다 한술더떠서 통칭 최고급언어로 분류되더라구요?ㅎㅎ
    마침 저도 파이썬을 익혀볼 참이였는데 좋은 예제들 감사합니다 많은 도움되었어요

  2. Favicon of http://jminrang.tistory.com BlogIcon jminrang 2010.12.16 10:32  댓글주소  수정/삭제  댓글쓰기

    일단 제 소개를 하자면 24살 학생입니다.
    리버스 엔지니어링을 공부하다가 어떻게 까마귀님 블로그를 찾게 되었네요.ㅎㅎㅎ
    일단 유용한 정보 감사드립니다.
    파이썬을 공부하고 있는데 예제가 잘 나와있네요 한가지 흠이라고 하면
    파이썬이 3.0대 버전으로 올라가면서 문법도 봐뀌고 여기 있는 코드가 약간의 수정을 해야지 수행이 되네요 ㅎㅎ
    허락만 해주신다면 제가 3.0대 버전으로 코드 수정해서 댓글로 달았으면 하는 바램입니다.
    2.0대 버전이랑 비교하면서 저같은 학생이 공부하기 좋지 않을까하는 조심스러운 저의 생각입니다.