Wisdom’s Cloud

[PYTHON] 13. 파이썬으로 간단한 프로그램 만들기 본문

PYTHON

[PYTHON] 13. 파이썬으로 간단한 프로그램 만들기

지혜로운지혜쓰 2021. 2. 26. 14:45

[실습 1] 구구단 만들기


함수의 이름은? GuGu로 짓자

입력받는 값은? 2

출력하는 값은? 2단(2, 4, 6, 8, ..., 18)

결과는 어떤 형태로 저장하지? 연속된 자료형이니까 리스트!


>>> def GuGu(n):
...    result = []
...    i = 1
...    while i < 10:
...       result.append(n * i)
...       i = i + 1
...    return result
... 
>>> print(GuGu(2))
[2, 4, 6, 8, 10, 12, 14, 16, 18]

 

 

[실습 2] 3과 5의 배수 합하기


입력받는 값은? 1부터 999까지(1000 미만의 자연수)

출력하는 값은? 3의 배수와 5의 배수의 총합

생각해 볼 것은? 하나. 3의 배수와 5의 배수는 어떻게 찾지?

둘. 3의 배수와 5의 배수가 겹칠 때는 어떻게 하지?


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

 

 

[실습 3] 게시판 페이징하기


함수의 이름은? getTotalPage

입력받는 값은? 게시물의 총 건수(m), 한 페이지에 보여 줄 게시물 수(n)

출력하는 값은? 총 페이지 수


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

 

 

[실습 4] 간단한 메모장 만들기


필요한 기능은? 메모 추가하기, 메모 조회하기

입력받는 값은? 메모 내용, 프로그램 실행 옵션

출력하는 값은? memo.txt


# 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)

 

 

[실습 5] 탭을 4개의 공백으로 바꾸기


필요한 기능은? 문서 파일 읽어 들이기, 문자열 변경하기

입력받는 값은? 탭을 포함한 문서 파일

출력하는 값은? 탭이 공백으로 수정된 문서 파일


# C:/doit/tabto4.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()

 

 

[실습 6] 하위 디렉터리 검색하기

# 특정 디렉터리부터 시작해서 그 하위 모든 파일 중 파이썬 파일(*.py)만 출력해 주는 프로그램
# 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:/")

'PYTHON' 카테고리의 다른 글

[PYTHON] 15. 파이썬 Final 20제  (2) 2021.03.03
[PYTHON] 14. 정규 표현식  (0) 2021.03.03
[PYTHON] 12. 외장 함수  (0) 2021.02.25
[PYTHON] 11. 내장 함수  (0) 2021.02.25
[PYTHON] 10. 예외 처리  (0) 2021.02.24