[Python]06.파이썬 프로그래밍, 어떻게 시작해야할까?

박서연·2023년 1월 30일
0

Python

목록 보기
7/8
post-thumbnail

🔅 프로그램 만들 때에는 입력출력을 생각

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

  • n단 입력 시 n단 출력
#입력값: 2, 출력: 2,4,6,...,18, type: 리스트
def GuGu(n):
    result = []
    i = 1
    while i<10:
        result.append(n*i)
        i += 1
    return result

print(GuGu(2))

🔗 3과 5의 배수 합하기

  • 10 미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라
#입력: 0~999, 출력: 3과 5의 배수

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

🔗 게시판 페이징하기

  • 게시물의 총 건수와 한 페이지에 보여줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램
#입력: 게시물총건수, 한페이지에 보여줄 게시물 수, 출력: 총페이지수
def result(total, per):
    page = total // per
    if (total % per != 0):
        page += 1
    return page

print(result(5,10))
print(result(15,10))
print(result(25,10))
print(result(30,10))

🔗 간단한 메모장 만들기

  • 원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장

실행: python memo.py -a "Life is too short"

import sys
option = sys.argv[1]    #단축키, 위 실행 문장에서 -a 가리킴
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개의 공백으로 바꾸기

  • 문서 파일 내의 탭을 4개의 공백으로 바꾸기

실행: python tabto4.py a.txt(입력문서파일) b.txt(출력문서파일)

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

🔗 하위 디렉터리 검색하기

  • 특정 디렉터리부터 시작해서 그 하위 모든 파일 중 파이썬 파일(*.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]	#splitext 사용하면 튜플 형태, (경로,확장자), 따라서[-1]
              if ext ==".py":	#python 파일의 경우 경로 출력
                  print(full_filename)
    except PermissionError:	#권한오류가 발생해도 pass
    	pass
        
search("C:/")

0개의 댓글