파이썬 입출력 큰따옴표, 작은 따옴표 문제

조회수 685회

출력해야 하는 결과 : "C:\Download\'hello'.py"

오류가 난 코드 :

print( ' \"C:\Download\\\'hello\'.py\" ')

정답 코드:

print( " \"C:\Download\\\'hello\'.py\" ")

질문 1. 제 코드랑 정답 코드랑 다른건 맨 앞과 뒤에 '(작은 따옴표)를 사용했고 정답 코드는 "(큰 따옴표)를 사용한 것 뿐인데 왜 작은 따옴표를 사용했을 떄 오류가 나는지 모르겠습니다

질문 2. Download\\\ 에서 \(백슬래시)를 3개나 사용하는 건 \(백슬래시)랑 '(작은따옴표)가 같이 붙어 있어서 그 앞에 각각 \(백슬래시)를 붙여주는 건가요? C:\ <-- 여기서는 \(백 슬래시)를 안 붙여도 되는 걸 보고 여쭤봅니다!

아직 초보라 모르는 점이 많습니다.

1 답변

  • 질문1. 왜 작은 따옴표를 사용했을 떄 오류가 나는지 모르겠습니다

    아마 정답을 채점해 주는 프로그램이 오답 처리를 한 것일 텐데, 추측컨대는, 불필요하게 큰따옴표가 이스케이프 되고 있어서 그랬을 거 같습니다.

    print( ' \"C:\Download\\\'hello\'.py\" ')
    
    # 위 코드와 아래 코드는 모두 오류 없이 같은 것을 출력합니다.
    # 무슨 차이인지 잘 살펴보세요.
    
    print( ' "C:\Download\\\'hello\'.py" ')
    

    질문2. (백슬래시)를 3개나 사용하는 건 (백슬래시)랑 '(작은따옴표)가 같이 붙어 있어서 그 앞에 각각 (백슬래시)를 붙여주는 건가요??

    네.

    그 백슬래시 3개를 앞에서부터 번호를 붙여서 보자면 이렇게 됩니다.

    • 1번 백슬래시: 2번 백슬래시를 이스케이프 시켜주는 문자
    • 2번 백슬래시: 이스케이프 시켜주고 싶은 (print해야 되는) 문자
    • 3번 백슬래시: 작은따옴표를 이스케이프 시켜주는 문자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)