점프 투 파이썬 - 프로그래밍
Language/Python

점프 투 파이썬 - 프로그래밍

뉴비뉴 2019. 7. 17.

3과 5의 배수의 합 만들기

result = 0
for n in range(1, 1000):
    if n % 3 == 0 or n % 5 == 0: # n을 3이나 5로 나누고 나머지가 0이 되는 것을 result += n 하라
        result += n
print(result)

게시판 페이징하기

def getTotalPage(m, n):
    if m % n == 0: # 그래서 아래와 같은 코드를 추가해주었다. 30/10 을 하면 나머지가 0이기 때문에 3을 리턴해준다.
        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)) # 4로 되면 문제가 발생한다. 페이지는 4까지 되는데 표시할 페이지가 없기 때문

간단한 메모장 만들기

import sys
# sys.argv[0]는 입력받은 값 중에서 파이썬 프로그램인 memo.py 이므로
# 우리가 만들려는 기능에는 필요 없는 값이다.
option = sys.argv[1] # 프로그램 실행 옵션 값
# memo = sys.argv[2] # 메모 내용
#
# print(option)
# print(memo)

if option == "-a": # python memo.py -a "내용" 이 들어 올 때 -a 가 입력된다면 아래 코드 실행
    memo = sys.argv[2] # argv[2] 부분이 메모가 들어간 부분이다 그 부분을 memo에 저장하라
    f = open('memo.txt', 'a') # 'a' add 모드 추가모드 추가 시 \n 때문에 줄 바꿈이 실행
    f.write(memo)
    f.write('\n') # 
    f.close()

elif option == "-v": # -v 가 입력된다면 아래 코드 실행
    f = open('memo.txt') # , 인자를 쓰지 않으면 디폴트로 r 이 들어간다. 읽기모드
    memo = f.read()
    f.close
    print(memo)

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

하위 디렉터리 검색하기

import os

def search(dirname):
    try:
        filenames = os.listdir(dirname) # os.listdir 해당 디렉터리에 있는 파일들의 리스트를 구한다.
        for filename in filenames:
            full_filename = os.path.join(dirname, filename) # os.path.join 디렉터리와 파일이름을 이어주는 함수
            ext = os.path.splitext(full_filename)[-1] # 해당 파일의 확장자 이름
            if os.path.isdir(full_filename): # 디렉터리인지 파일인지 구별
                search(full_filename) # 디렉터리 파일일 경우 경로를 입력받아 다시 search 함수 호출
            else:
                ext = os.path.splitext(full_filename)[-1]
                if ext == '.py':
                    print(full_filename)
    except PermissionError: # 권한이 없는 디렉터리에 접근하더라도 오류로 종료되지않고 그냥 수행되도록
        pass

search("c:/")

 

댓글

💲 추천 글