sys.stdin.readline()은 우리의 입력과 함께 \n까지 받아들입니다. ( 뉴라인,엔터 ), 그렇기 때문에 숫자는 괜찮습니다. (ex) int()를 통해 온전한 숫자만 얻을 수 있음 )
하지만 문자열의 경우엔 포함되어버리므로 문제가 되죠, 자 다음의 경우를 봅시다.
apple이라는 입력을 받습니다. 그리고 그걸 변수 str에 넣습니다.
str = input()
str = sys.stdin.readline()
1) input의 경우
=> str = apple입니다.
2) sys.stdin.readline의 경우
=> str = apple\n 이 됩니다.
자 이것을, 아래와 같이 다뤄본다고 합시다.
================================================================================
따라서, 오른쪽의 \n을 없애주는 rstrip() 메소드가 필요한 것입니다! ( 양쪽은 strip() )
모든 경우에 사용하실 수 있습니다. 다만, 위와 같이 문자열을 다루게 되는 순간은 조심하셔야 합니다. 그리고 import sys도요!
osh1795 2년 전
sys.stdin.readline() 관련해서 궁금하게 있어 질문합니다!
문제에서
Python을 사용하고 있다면,
input
대신sys.stdin.readline
을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우.rstrip()
을 추가로 해 주는 것이 좋다.이렇게 적혀있는데 " 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우
.rstrip()
을 추가로 해 주는 것이 좋다." 이 문장이 어떤 것을 뜻하는지 잘 모르겠습니다. 혹시 설명해주실 수 있나요??그리고 모든 경우에 input()대신에 sys.stdin.readline()를 사용할 수 있는건가요??