Minwoo Dev.

<점프 투 파이썬> :: 06. 파이썬 프로그래밍, 어떻게 시작해야 할까? 본문

Python

<점프 투 파이썬> :: 06. 파이썬 프로그래밍, 어떻게 시작해야 할까?

itisminu 2023. 10. 12. 22:13
728x90
반응형
SMALL

06-1 구구단 프로그램

 

리스트 형식으로 출력하는 구구단 프로그램이다.

def GuGu(n):
    result = []
    result.append(n*1)
    result.append(n*2)
    result.append(n*3)
    result.append(n*4)
    result.append(n*5)
    result.append(n*6)
    result.append(n*7)
    result.append(n*8)
    result.append(n*9)
    return result

print(GuGu(2))

append를 사용하여 추가한다.

반복되는 코드를 반복문으로 대체해 보자.

def GuGu(n):
    result = []
    i = 1
    while i<10:
        result.append(n*i)
        i = i+1
    return result

print(GuGu(2))

 

 

06-2 3과 5의 배수 합하기

 

Q. 10 미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라.

 

result = 0
for n in range(1,1000):
    if n%3==0 or n%5==0:
        result += n
print(result)

 

 

 

06-3 A씨는 게시판 프로그램을 작성하고 있다. 그런데 게시물의 총 건수와 한 페이지에 보여줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요하다고 한다.

 

def getTotalPage(m,n):
    if m%n==0:
        return m//n
    else:
        return m//n+1
    
print(getTotalPage(5,10))
print(getTotalPage(15,10))
print(getTotalPage(25,10))
print(getTotalPage(30,10))

 

 

 

06-4 간단한 메모장 만들기

 

원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장을 만들어 보자.

# c:\doit\memo.py
import sys

option = sys.argv[1]

if option == '-a':
    memo = sys.argv[2]
    f = open('memo.txt','a')
    f.write(memo)
    f.write('\n')
    f.close()
elif option == '-v':
    f = open('memo.txt')
    memo = f.read()
    f.close()
    print(memo)

 

 

06-5 탭을 4개의 공백으로 바꾸기

이번에는 문서 파일을 읽어서 그 문서 파일 안에 있는 탭(tab)을 공백(space) 4개로 바꾸어 주는 스크립트를 작성해 보자.

 

# C:\doit\tabto04.py
import sys

src = sys.argv[1]
dst = sys.argv[2]

f = open(src)
tab_content = f.read()
f.close()
space_content = tab_content.replace("\t"," "*4)


f = open(dst, 'w')
f.write(space_content)
f.close()

 

 

06-6 하위 디렉터리 검색하기

# C:/doit/sub_dir_search.py

import os

def search(dirname):
    try:
        filenames = os.listdir(dirname)
        for filename in filenames:
            full_filename = os.path.join(dirname, filename)
            if os.path.isdir(full_filename):
                search(full_filename)
            else:
                ext = os.path.splitext(full_filename)[-1]
                if ext == '.py':
                    print(full_filename)
    except PermissionError:
        pass

search("c:/")
728x90
반응형
LIST