1학년 6반

2025 정보수업 학습목표 

1. 즐겁게 수업에 참여하여 코딩 능력을 기른다.
2. 학습한 내용을 바탕으로 코딩을 문제해결에 활용한다.
3. 컴퓨팅 사고능력을 배양하여 문제해결능력을 신장한다.
4. EBS ID를 만들고 EBS 강의를 활용한 자기주도학습으로 실력을 기른다.
즐겁게 수업에 참여하여 코딩 능력을 기른다.
  • 선생님 : 인수샘
  • 학생수 : 남 68명 / 여 61명

# 문자열 처리 파이썬 퀴즈 10

이름 김인수 등록일 25.03.16 조회수 11

import random

 

# 퀴즈 목록 (문자열 처리 관련, 정답 + 해설 포함)

quiz_list = [

    {

        "question": "'Hello'.lower()의 결과는?",

        "options": ["1. 'hello'", "2. 'HELLO'", "3. 'Hello'", "4. 'hELLO'", "5. 'hello '"],

        "answer": 1,

        "explanation": "lower()는 모든 문자를 소문자로 변환합니다. 따라서 'Hello' → 'hello'"

    },

    {

        "question": "'Python'[0]의 결과는?",

        "options": ["1. 'P'", "2. 'n'", "3. 'y'", "4. 'h'", "5. 오류 발생"],

        "answer": 1,

        "explanation": "문자열은 인덱스를 통해 접근할 수 있고, 인덱스 0은 첫 글자인 'P'입니다."

    },

    {

        "question": "'apple,banana,grape'.split(',')의 결과는?",

        "options": [

            "1. ['apple banana grape']",

            "2. ['apple','banana','grape']",

            "3. ['a','b','g']",

            "4. 'apple banana grape'",

            "5. ['apple,banana,grape']"

        ],

        "answer": 2,

        "explanation": "split(',')은 쉼표를 기준으로 문자열을 나누어 리스트로 반환합니다."

    },

    {

        "question": "'-'.join(['a','b','c']) 의 결과는?",

        "options": ["1. 'abc'", "2. ['a-b-c']", "3. 'a b c'", "4. 'a-b-c'", "5. 'a,b,c'"],

        "answer": 4,

        "explanation": "join()은 리스트 요소 사이에 지정한 문자를 삽입하여 하나의 문자열로 만듭니다."

    },

    {

        "question": "문자열 길이를 구하는 함수는?",

        "options": ["1. count()", "2. size()", "3. length()", "4. str_len()", "5. len()"],

        "answer": 5,

        "explanation": "len()은 문자열의 길이를 반환하는 파이썬 내장 함수입니다."

    },

    {

        "question": "'   hello   '.strip() 의 결과는?",

        "options": ["1. 'hello'", "2. '   hello'", "3. 'hello   '", "4. '   hello   '", "5. 'hello\\n'"],

        "answer": 1,

        "explanation": "strip()은 문자열 양쪽의 공백(또는 개행 문자 등)을 제거합니다."

    },

    {

        "question": "'banana'.find('a')의 결과는?",

        "options": ["1. 1", "2. 2", "3. 0", "4. 3", "5. -1"],

        "answer": 3,

        "explanation": "find()는 문자열에서 해당 문자의 첫 위치(인덱스)를 반환합니다. 'a'는 인덱스 1에 처음 등장합니다."

    },

    {

        "question": "'abc123'.isalpha()의 결과는?",

        "options": ["1. True", "2. False", "3. None", "4. 123", "5. 오류 발생"],

        "answer": 2,

        "explanation": "isalpha()는 모든 문자가 알파벳일 때 True를 반환하며, 숫자가 섞이면 False입니다."

    },

    {

        "question": "문자열 'Python'에서 'tho'만 추출하려면?",

        "options": ["1. 'Python'[2:5]", "2. 'Python'[1:4]", "3. 'Python'[3:6]", "4. 'Python'[2:6]", "5. 'Python'[2:7]"],

        "answer": 4,

        "explanation": "'Python'[2:6]은 2번 인덱스부터 6 이전까지로, 't', 'h', 'o'가 포함됩니다."

    },

    {

        "question": "'Hello World'.replace('World', 'Python') 결과는?",

        "options": ["1. 'Hello Python'", "2. 'World Hello'", "3. 'HelloWorldPython'", "4. 'Python Hello'", "5. 'Hello World Python'"],

        "answer": 1,

        "explanation": "replace(old, new)는 문자열 내 old를 new로 바꿉니다."

    },

]

 

def run_quiz():

    score = 0

    random.shuffle(quiz_list)

    for idx, q in enumerate(quiz_list, 1):

        print(f"\n문제 {idx}. {q['question']}")

        for option in q['options']:

            print(option)

        try:

            user_answer = int(input("정답 번호를 입력하세요 (1-5): "))

            if user_answer == q['answer']:

                print("? 정답입니다!")

                score += 1

            else:

                print(f"? 오답입니다. 정답은 {q['answer']}번입니다.")

            print(f"?? 해설: {q['explanation']}")

        except ValueError:

            print("?? 숫자를 입력해주세요.")

 

    print(f"\n총 {len(quiz_list)}문제 중 {score}개 정답 맞춤!")

 

if __name__ == "__main__":

    run_quiz()


이전글 # 연산자 관련 파이썬 퀴즈 10
다음글 1122