내일배움캠프(QA,QC_5기)

[내일배움캠프] QA/QC_5기 ( 12일차 )

lshxkwh 2026. 3. 24. 20:16

[ Python 함수 복습 및 코드카타 문제 풀이 ] 

  • 함수 (def) 사용 복습 & 코드카타 문제풀이
  • Python 실력 쑥쑥 5 & 6 복습
  • 개인과제 문제 풀이

[ Python 실력 쑥쑥 5 ] 

  1. 함수 복습
    1.  결과를 돌려주는 함수 ( return )
      - def divide(x= 5, z= 6):
              result = x / z
              return result  # 출력 : 0.8333333333

      - def divide(x,y):
              result = x / y
              return result
        divide(100 , 5)  # 출력 : 20.0

      - def add_new_version(a,b):
                result = a+b
                return result
      my_result = add_new_version(5,3)
      print("Calculation result:",my_result)
      print("Adding 10 to the result:",my_result+10)

    2. 간단한 계산기 만들기
      def add(a, b):
          return a + b

      def subtract(a, b):
          return a - b

      def multiply(a, b):
          return a * b

      def divide(a, b):
          if b == 0:
              return "Cannot divide by zero!"
          return a / b

      def simple_calculator():
        print("=== simple Calculator ===")

        first = float(input("Enter first number: "))
        second = float(input("Enter second number: "))

        print(f"{first} + {second} = {add(first,second)}")
        print(f"{first} - {second} = {subtract(first,second)}")
        print(f"{first} * {second} = {multiply(first,second)}")
        print(f"{first} / {second} = {divide(first,second)}")
      simple_calculator()



    3. 메뉴가 있는 계산기 만들기

      def 메뉴_보여주기():
          print("\n" + "="*30)
          print("    🧮 나의 첫 계산기")
          print("="*30)
          print("1. 더하기")
          print("2. 빼기")
          print("3. 곱하기")
          print("4. 나누기")
          print("5. 끝내기")
          print("="*30)

      def 숫자_입력받기():
          첫번째 = float(input("첫 번째 숫자: "))
          두번째 = float(input("두 번째 숫자: "))
          return 첫번째, 두번째

      def 계산기_실행():
          while True:  # 무한반복 (사용자가 5번을 누를 때까지)
              메뉴_보여주기()
              선택 = input("번호를 선택하세요: ")

              if 선택 == "1":
                  a, b = 숫자_입력받기()
                  print(f"결과: {a} + {b} = {sum(a, b)}")
                  break
              elif 선택 == "2":
                  a, b = 숫자_입력받기()
                  print(f"결과: {a} - {b} = {subtract(a, b)}")
                  break
              elif 선택 == "3":
                  a, b = 숫자_입력받기()
                  print(f"결과: {a} × {b} = {multiply(a, b)}")
                  break
              elif 선택 == "4":
                  a, b = 숫자_입력받기()
                  print(f"결과: {a} ÷ {b} = {divide(a, b)}")
                  break

              elif 선택 == "5":
                  print("계산기를 종료합니다. 안녕히 가세요! 👋")
                  break

              else:
                  print("1~5 번호만 선택해주세요!")

      # 계산기 시작!
      계산기_실행()

  2. Python & Tips
    1. zip()
      names = ['A','B','C']
      scores = [10, 20, 30]
      for name, score in zip(names, scores):  
          print(name, score)
      # Output
      # A 10
      # B 20
      # C 30
  3. String Handing
    1. 인덱싱(Indexing) 및 슬라이싱(Slicing)
      # Indexing:
      String = 'Hello, World'
      print(String[4])  # Output: o
      print(String[-3])  # Output: r

      # Slicing:
      String = 'Hello, World'
      print(String[3:])  # Output: lo, World

 

[ 코드 카타 문제풀이 ] 11~15

더보기

[ 문제 11 ] 

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.

 

def solution(num):
  result = "Even" if num % 2 == 0 else "Odd"
  return result

 

[ 문제 12 ]

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

 

def solution(arr):
  result = sum(arr) / len(arr)
  return result

 

[ 문제 13 ]

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

def solution(n):
  sum_n = [int(i) for i in str(n)]
  result = sum(sum_n)
  return result

 

[ 문제 14 ]

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

 

def solution(n):
  answer = 0
  for i in range(1,n+1):
    if n % i == 0:
      answer += i
  return answer

 

[ 문제 15 ]

자연수 n이 매개변수로 주어집니다. n x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

 

def solution(n):
  for x in range(1,n+1):
    if n % x == 1:
      return x

 

 


아티클 스터디 자료 정리 ] 

주제 : 파이썬 초보자가 저지르는 10가지 실수

파이썬 초보자가 저지르는 10가지 실수 | 요즘IT

 

파이썬 초보자가 저지르는 10가지 실수 | 요즘IT

파이썬을 처음 배울 때, 우리는 자신도 모르게 몇 개의 나쁜 코딩 습관들을 갖게 됩니다. 처음에는 문제없이 작동했지만, 나중에 정상적으로 작동하지 않거나 뒤늦게 문제를 더 쉽게 해결할 수

yozm.wishket.com

 

  • 요약 : 파이썬을 처음 배우는 사람들이 흔히 저지르는 잘못된 코딩 습관 10가지를 설명하고, 각 문제에 대한 올바른 해결 방안과 코드 예시를 제시한다.
  • 주요 포인트
  1. 잘못된 코딩 습관은 성능과 안정성을 떨어뜨린다.
  2. 명확한 예외 처리가 중요하다
  3. 라이브 러리 활용이 필수다.
  4. 코드 가독성과 스타일을 지켜야 한다.
  5. 자료 구조 이해가 핵심

 - 핵심 개념

코드 품질 단순 실행 여부를 넘어서 가독성, 효율성, 유지보수성을 포함하는 코드의 전반적인 수준
효율적인 코드 작성 불필요한 반복을 줄이고 빠르고 간결하게 동작하도록 작성하는 방식
예외 처리 프로그램 실행 중 발생하는 오류를 제어하여 안정성을 확보하는 방법
라이브러리 활용 검증된 도구를 사용하여 개발 속도와 성능을 향상시키는 방식
코드 스타일 규칙 일관된 코드 작성 기준을 적용하여 가독성과 협업 효율을 높이는 규칙
자료구조 활용 능력 데이터를 효율적으로 저장하고 처리하여 성능을 향상시키는 능력

 

 

 

- 용어설명

import * 모듈의 모든 요소를 불러오는 방식으로, 충돌 위험과 가독성 저하 문제가 있음
예외 처리 (Exception Handling) try-except 구문을 사용하여 오류를 처리하는 방법
Numpy 수치 연산을 빠르게 수행하는 파이썬 라이브러리
벡터화 (Vectorization) 반복문 대신 배열 연산을 사용하여 속도를 향상시키는 기법
PEP8 파이썬 코드 작성 시 따르는 공식 스타일 가이드
with 문 파일을 자동으로 열고 닫아 자원 관리를 효율적으로 수행하는 구문
딕셔너리 (Dictionary) key-value 형태로 데이터를 저장하는 자료구조

[ ADsP 3강 ] - Section 4 정리 

는 내일 정리하는 걸로.. 할게 너무 많아