해당 문제를 처음 접한 나는 그냥 예제 출력 복사해서
print("""\ /\
) ( ')
( / )
\(__)|""")
이렇게 적어버렸다. ofc this is python.
그런데- 오답😂😂
따로 돌려볼 생각도 없이 소스만 제출했는데 오답이 뜨길래 이게 뭐지? 싶었다.
실제로 위 코드를 돌려보면
\ / ) ( ')
( / )
\(__)|
이렇게 나온다.
나의 \\n
친구는 어디갔냐며,,
print 안에 넣었던 친구를 변수에 넣어서 해당 변수를 출력해보니
\\ / ) ( ')\n( / )\n \\(__)|
이렇게 나온다.
\
"원래 python에서 \
는 escape sequence(or characters)를 만드는 데 사용되는 문자라고 해서 \
을 표현하기 위해서는 \\
과 같이 사용해주어야 하는 게 맞다.
The backslash ("
\
") character is used to escape characters that otherwise have a special meaning, such as newline, backslash itself, or the quote character.
즉, print("\")
와 같이 입력시 오류가 난다. 왜냐하면 "이 하나 더 필요해서! \"
이렇게 사용한다는 건 문자열 안에서 "를 나타나겠다는 말과 같기 때문이다.
print("\ ")
이렇게 한 칸 정도 공백을 둬 주면 의도대로 \
을 출력해준다.
그래서 앞서 \
뒤에 공백이 있던 친구들은 알아서 \\
으로 변환되었으나,
a = """ \
"""
이런식으로 뒤에 줄바꿈이 되어버리면 a는 그냥 한 칸의 공백을 저장한다.
sooooo 문제가 있던 첫 줄에만 \
을 하나 더 추가해주면 정답!
print("""\ /\\
) ( ')
( / )
\(__)|""")