• 티스토리 홈
  • 프로필사진
    소쩍소쩍이
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
소쩍소쩍이
  • 프로필사진
    소쩍소쩍이
    • 분류 전체보기 (51) N
      • 파이썬 (18)
        • 문제 및 예제 (8)
      • PySide6 (15) N
        • Signal & Slot (6)
        • Layout (8)
        • Model & View (1) N
      • 리눅스 (5)
      • 아두이노 (0)
      • 일지 (11)
  • GitHub
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • 간단한 프로그램 만들기 1 (계산기)
      2026년 04월 16일
      • 소쩍소쩍이
      • 작성자
      • 2026.04.16.:56
      사용자에게 숫자 2개를 입력받고, 사칙연산 기호(+, -, *, /, %, //) 를 입력받으면, 그 연산 결과를 출력하라.
      공백(화이트 스페이스)를 입력받아도 무시되도록 구현하라.

      연산 함수 정의

      각 사칙연산을 독립적인 함수로 분리하여 구현

      def add(a,b):
        return a + b
      def sub(a,b):
        return a - b
      def mul(a,b):
        return a * b
      def div(a,b):
        return a / b
      def quo(a,b):
        return a % b
      def rema(a,b):
        return a // b

      딕셔너리를 활용한 연산 처리

      조건문(if-elif)을 반복적으로 사용하는 대신, 딕셔너리를 활용하여 연산을 처리하는 구조로 설계
      연산 기호를 key로, 각 연산 함수를 value로 매핑하여 입력값에 따라 해당 함수를 호출할 수 있도록 구성

      def cal():
        oper_dict={
          "+": add,
          "-": sub,
          "*": mul,
          "/": div,
          "%": quo,
          "//": rema,
        }

      입력 처리 및 검증

      사용자 입력은 strip()을 사용하여 공백을 제거한 뒤 처리하고 공백만 입력된 경우에는 continue를 통해 다시 입력을 받도록 구성

      또한 입력된 연산 기호가 딕셔너리에 존재하지 않는 경우, "잘못된 계산"을 출력하고 다시 입력 단계로 돌아가도록 하였다.

        while True:
            num1_input = input("정수1 >> ")
            if num1_input.strip() == "":
                continue
            num1 = int(num1_input)
      
            num2_input = input("정수2 >> ")
            if num2_input.strip() == "":
                continue
            num2 = int(num2_input)
      
            if num1 == 0 and num2 == 0:
                print("종료")
                break
      
            oper_u = input("사칙연산 >> ").strip()
            if oper_u == "":
                continue
      
            if oper_u not in oper_dict:
              print("잘못된 계산")
              continue
      
            get = oper_dict[oper_u](num1,num2)
            print("결과 :", get)
      cal()

      종료 조건

      정수1과 정수2에 모두 0이 입력되면 프로그램이 종료되도록 조건을 설정하고 이를 통해 반복문 기반의 계산기를 사용자 의도에 따라 종료할 수 있도록 구현했다.

       

       

      '파이썬 > 문제 및 예제' 카테고리의 다른 글

      간단한 프로그램 만들기 7 (야구게임)  (0) 2026.04.17
      간단한 프로그램 만들기 8 (로또 키오스크 만들기)  (0) 2026.04.17
      함수 예제 및 문제  (0) 2026.04.13
      리스트 예제 및 문제  (0) 2026.04.10
      반복구조 예제 및 문제  (0) 2026.04.09
      다음글
      다음 글이 없습니다.
      이전글
      이전 글이 없습니다.
      댓글
    조회된 결과가 없습니다.
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바