[코담]
웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트
미니프로젝트 업무일지생성기 | ✅저자: 이유정(박사)
프로젝트 코드명: WorkLogCard_PY_v2 프로젝트 유형: 업무일지 생성기
코드명: WorkLogCard_PY_v2
사용언어 Python: PY
버전 번호 : v2
🖥️ 프로젝트 개요
사용자로부터 작성일자, 담당업무, 업무내용을 입력 받아 문자열
가공을 통해 업무일지를 출력합니다. 문자열 슬라이싱, 대소문자 처리,
공백 제거, 문자열 길이 구하기, 포맷 정리 등을 통해 콘솔에서 깔끔한
업무일지를 생성합니다.
◽ 프로젝트를 통해 적용되는 내용:
- 문자열 연결 (
+
, f-string) - 슬라이싱과 인덱싱
- 문자열 길이 측정 (
len()
) - 이스케이프 문자 (
\n
,\t
) - 여러 줄 문자열 출력 (
"""..."""
) - 문자열 메서드:
strip()
,capitalize()
,[:n]
- IndexError 예외 방지 처리
📄 기능 요구사항 (Functional Requirements):
- FR-01: 작성일자, 담당업무, 업무내용을 사용자로부터 입력 받는다.
- FR-02: 업무내용이 20자 이상이면 앞의 20글자까지만 출력한다.
- FR-03: 담당업무는 첫 글자만 대문자로 출력한다.
- FR-04: 업무일지 카드 형식으로 보기 좋게 출력한다.
📄 비기능 요구사항 (Non-Functional Requirements):
- 줄바꿈과 탭으로 보기 좋은 출력 구성
- 업무내용과 담당업무의 문자열 길이 출력 포함
- 입력 문자열에 불필요한 공백 제거 (
strip()
) - IndexError나 출력 오류 방지
🔀 작업 가이드
1️⃣ 사용자 입력 처리
date = input("업무 작성일을 입력하세요 (예: 2025-05-06): ")
task = input("담당 업무를 입력하세요: ")
content = input("업무 내용을 입력하세요: ")
name = input("담당자 이름을 입력하세요: ")
2️⃣ 문자열 처리
- 앞뒤 공백 제거 (실수 방지용)
- 문자열 가공
🖨️ 출력결과 (예시)
==============================
📋 업무일지 카드
------------------------------
작성일자: 2025-05-06
담당 업무: 장고개발
업무 내용: 오늘 수행한 업무는 API 개발이였다.
업무 내용 길이: 21자
담당 업무 길이: 4자
담당자 이름: 이유정
==============================
✅ 정답 코드 및 해설
# 사용자 입력
date = input("업무 작성일을 입력하세요 (예: 2025-05-06): ")
task = input("담당 업무를 입력하세요: ")
content = input("업무 내용을 입력하세요: ")
name = input("담당자 이름을 입력하세요: ")
# 문자열 처리
task = task.strip()
content = content.strip()
task_len = len(task)
content_len = len(content)
# 최대 100자 까지만 자르기
content = content[:100]
content_wrapped = (
content[0:20] + "\n" +
content[20:40] + "\n" +
content[40:60] + "\n" +
content[60:80] + "\n" +
content[80:100]
).strip()
# 출력
card = f"""
==============================
📋 업무일지 카드
------------------------------
작성일자: {date}
담당 업무: {task}
업무 내용: {content_wrapped}
업무 내용 길이: {task_len}자
담당 업무 길이: {content_len}자
담당자 이름: {name}
==============================
"""
print(card)