본문 바로가기
IT/Python Quiz

[Python] 초급 퀴즈9 - 함수, 파일 입출력, 예외 처리, 클래스

by Echinacea 2025. 2. 18.
반응형

 

 

🔹 문제 1: 함수의 기본 동작

다음 코드의 실행 결과를 예측하세요.

def add(a, b=3):
    return a + b

print(add(2))

A) 2

B) 5

C) 6

D) 오류 발생


 

 

🔹 문제 2: 파일 읽기

다음 코드가 실행될 때 올바른 동작을 하는지 판단하세요.

with open("sample.txt", "r") as file:
    content = file.read()
print(content)

A) 정상적으로 파일 내용을 출력한다.

B) 파일이 존재하지 않으면 오류가 발생한다.

C) 파일을 자동으로 생성한 후 읽는다.

D) file.close()를 반드시 호출해야 한다.


 

 

🔹 문제 3: 예외 처리

다음 코드 실행 시 출력 결과를 예측하세요.

try:
    print(10 / 0)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다!")
finally:
    print("연산 종료")

A) 0으로 나눌 수 없습니다! 출력 후 종료

B) 오류 발생 후 프로그램 종료

C) 0으로 나눌 수 없습니다!와 연산 종료 출력

D) 연산 종료만 출력


 

 

🔹 문제 4: 클래스와 객체

다음 코드의 실행 결과를 예측하세요.

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        return "소리를 냅니다."

class Dog(Animal):
    def speak(self):
        return "멍멍!"

dog = Dog("바둑이")
print(dog.speak())

A) 소리를 냅니다.

B) 멍멍!

C) 오류 발생

D) None


 

 

 

 

 

 

 

🔹 정답 및 해설

  1. B) 5
    📌 설명: add(2)를 호출하면 b의 기본값 3이 사용되어 2 + 3 = 5가 됩니다.
  2. B) 파일이 존재하지 않으면 오류가 발생한다.
    📌 설명: open("sample.txt", "r")는 읽기 모드("r")이므로 파일이 존재하지 않으면 FileNotFoundError가 발생합니다.
  3. C) 0으로 나눌 수 없습니다!와 연산 종료 출력
    📌 설명: ZeroDivisionError 예외가 발생하면 except 블록이 실행되고, finally 블록은 항상 실행됩니다.
  4. B) 멍멍!
    📌 설명: Dog 클래스가 Animal 클래스를 상속받았고, speak() 메서드를 오버라이딩하여 "멍멍!"을 반환합니다.

 

반응형

댓글