본문 바로가기
Programming/PYTHON

파이썬 내가 프로그램을 만들 수 있을까?

by akter 2022. 3. 7.

프로그램을 만들려면 가장 먼저 '입력'과 '출력'을 생각해야된다.

 

구구단 프로그램(함수) 만들기

- n 입력하면 n단 출력

  • 함수 이름은?
    º GuGu
  • 입력 받는 값은?
    º 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))

 

 


3과 5의 배수 합하기

 

10 미만의 자연수에서 3과 5의 배수를 구하면 3, 5, 6, 9이다. 이들의 총합은 23이다. 1000미만의 자연수에서 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

 

 


게시판 페이징하기

 

게시물의 총 건수와 한 페이지에 보여줄 게시물 수를 입력으로 주었을 때 총 페이지수를 출력하는 프로그램

  • 함수의 이름은?
    º GetTotalPage
  • 입력 받는 값은?
    º 게시물의 총 건수(m), 한 페이지에 보여 줄 게시물 수(n)
  • 출력 하는 값은?
    º 총 페이지 수
게시물의 총 건수(m) 페이지당 보여 줄 게시물 수(n) 총 페이지 수
5 10 1
15 10 2
25 10 3
30 10 3

 

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

1
2
3
3

 

 


간단한 메모장 만들기

 

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

  • 필요한 기능은?
    º 메모 추가하기, 메모 조회하기
  • 입력 받는 것은?
    º 메모 내용, 프로그램 실행 옵션
  • 출력하는 값은?
    º memo.txt
python memo.py -a "Life is too short"

 

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)

 

 


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

 

  • 필요한 기능은?
    º 문서 파일 읽어 들이기, 문자열 변경하기
  • 입력 받는 것은?
    º 탭을 포함한 문서 파일
  • 출력하는 것은?
    º 탭이 공백으로 수정된 문서 파일
python tabto4.py a.txt b.txt

 

 

 


하위 디렉터리 검색하기

 

특정 디렉터리부터 시작해서 그 하위 모든 파일 중 파이썬 파일(*.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:/")

 

댓글