Python 기초: Hello World 조건부 출력 및 수치 연산

다음은 Python 기초 학습에 관련된 객관식 문제와 프로그래밍 예제입니다.

객관식 문제

  1. Guido van Rossum이 Python을 공식 발표한 연도는 언제입니까?
  2. Python 코드에서 "들여쓰기"에 대한 설명으로 올바른 것은 무엇입니까?
    • 들여쓰기는 모든 문장에서 동일한 길이로 강제 사용됩니다.
    • 들여쓰기는 모든 문장 뒤에 사용하여 문장 간의 포함 관계를 나타낼 수 있습니다.
    • 들여쓰기는 선택 사항이며 코드 가독성 향상을 위해서만 사용됩니다.
    • 들여쓰기는 4개의 공백으로 통일되어야 합니다.

    정답: (Python의 들여쓰기는 통일성만 유지되면 되며, 반드시 4개의 공백일 필요는 없습니다. 다만 4개의 공백이 관례적으로 널리 사용됩니다.)

  3. 다음 중 IPO 모델(Input, Process, Output)에 해당하지 않는 것은 무엇입니까?
    • Program
    • Output
    • Input
    • Process

    정답: Program

  4. 문자열 시퀀스 `s`가 주어졌을 때, 오른쪽에서 왼쪽으로 세 번째 문자를 나타내는 표현은 무엇입니까?
  5. Python에서 유효하지 않은 이름(명명 규칙 위반)은 무엇입니까?
  6. Python에서 사용자 입력을 받는 함수는 무엇입니까?
  7. 다음 중 Python 예약어가 아닌 것은 무엇입니까?
  8. 다음 중 Python의 데이터 타입이 아닌 것은 무엇입니까?
  9. 다음 중 분기 구조를 직접적으로 나타내지 않는 예약어는 무엇입니까?
  10. `print()` 함수의 서식 지정 기능을 사용하여 소수점 이하 두 자리까지 부동 소수점 수를 출력하는 데 사용되는 형식 지정자는 무엇입니까?

프로그래밍 예제

Hello World 조건부 출력

사용자로부터 정수를 입력받아, 입력된 값에 따라 "Hello World"를 다르게 출력하는 프로그램입니다.

  • 입력값이 0이면 "Hello World"를 그대로 출력합니다.
  • 입력값이 0보다 크면 "Hello World"를 두 문자씩 줄을 바꾸어 출력합니다. (공백 포함)
  • 입력값이 0보다 작으면 "Hello World"를 세로로 한 글자씩 출력합니다.

input_value = int(input("정수를 입력하세요: "))
message = "Hello World"

if input_value == 0:
    print(message)
elif input_value > 0:
    for i in range(0, len(message), 2):
        print(message[i:i+2])
else:
    for char in message:
        print(char)

수치 연산

사용자로부터 "M OP N" 형식의 문자열을 입력받습니다. 여기서 M과 N은 숫자이고, OP는 '+', '-', '\*', '/' 중 하나의 연산자를 나타냅니다. 입력된 연산에 따라 M OP N의 결과를 계산하고, 결과를 소수점 이하 둘째 자리까지 표시합니다. 입력 형식 오류는 고려하지 않습니다.


import re

expression_str = input("계산식을 입력하세요 (예: 10 + 5): ")

# 정규 표현식을 사용하여 숫자와 연산자 분리 (다양한 공백 처리)
match = re.match(r"^\s*(-?\d+(?:\.\d+)?)\s*([+\-*/])\s*(-?\d+(?:\.\d+)?)\s*$", expression_str)

if match:
    num_m = float(match.group(1))
    operator = match.group(2)
    num_n = float(match.group(3))

    result = 0
    if operator == '+':
        result = num_m + num_n
    elif operator == '-':
        result = num_m - num_n
    elif operator == '*':
        result = num_m * num_n
    elif operator == '/':
        if num_n != 0:
            result = num_m / num_n
        else:
            result = "Error: Division by zero"

    if isinstance(result, str):
        print(result)
    else:
        print(f"{result:.2f}")
else:
    print("잘못된 입력 형식입니다.")

태그: python 기초 조건문 출력 연산

9월 4일 07:51에 게시됨