💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    미니프로젝트 7 | ✅저자: 이유정(박사)

    프로젝트 코드명: SimpleSurveyBot 프로젝트 유형: 콘솔 기반 설문 응답 수집기

    🖥️ 프로젝트 개요

    사용자에게 이름, 나이, 취미 등 몇 가지 질문을 하고 응답을 정리하여 출력하는 간단한 설문 봇을 만듭니다.
    선택적으로 입력 가능한 항목은 기본값을 설정하고, 질문의 순서는 키워드 인자를 통해 자유롭게 조정합니다.
    

    ◽ 이 프로젝트를 통해 자연스럽게 적용되는 내용

    • 함수 정의 및 호출
    • 매개변수 / 인자 구분
    • 기본값 매개변수
    • 키워드 인자
    • 가변 키워드 인자 활용

    📄 기능 요구사항 (Functional Requirements)

    • FR-01 ask_user() 함수: 이름, 나이, 취미를 입력받음
    • FR-02 summarize_response() 함수: 응답을 키:값으로 받아 정리하여 출력
    • FR-03 이름은 필수, 나이/취미는 선택이며 기본값 설정
    • FR-04 입력값 없이 호출 시에도 기본 정보 제공

    📄 비기능 요구사항 (Non-Functional Requirements)

    • 입력값이 없을 경우 기본 응답으로 대체
    • 콘솔 기반 출력
    • 함수 간 역할 분리

    ✅ 출력 포맷 구성:

    [설문 결과 요약]
    name: 민수      
    age: 20
    hobby: 음악 감상
    
    [설문 결과 요약]
    name: 영희
    age: 20
    hobby: 독서
    

    ✅ 정답 코드:

    def ask_user(name, age=20, hobby="독서"):
        info = summarize_response(name=name, age=age, hobby=hobby)
        print(info)
    
    def summarize_response(**info):
        result = "[설문 결과 요약]\n"
        for key, value in info.items():
            result += f"{key}: {value}\n"
        return result
    
    # 호출 예시
    ask_user("민수", hobby="음악 감상")
    ask_user("영희")  # 기본값 적용
    

    🔍 코드 해설:

    • ask_user()는 위치 인자 + 기본값 매개변수로 입력 처리
    • summarize_response()는 가변 키워드 인자(**kwargs)를 사용해 출력
    • 각 함수는 단일 책임 원칙을 적용하여 분리됨
    TOP
    preload preload