프로그램을 만들려면 가장 먼저 '입력'과 '출력'을 생각해야된다.
구구단 프로그램(함수) 만들기
- 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:/")
'Programming > PYTHON' 카테고리의 다른 글
프로젝트 완성 후, 자료구조 & 알고리즘 공부 및 코딩테스트 준비 (0) | 2022.05.30 |
---|---|
파이썬 정규 표현식 알아가기 (0) | 2022.03.08 |
파이썬 날개 달기 (0) | 2022.03.04 |
파이썬 프로그램의 입력과 출력은 어떻게 해야 할까? (0) | 2022.03.02 |
파이썬 프로그램의 구조를 쌓는 제어문 알아가기 (0) | 2022.03.01 |
댓글