ie1914   4년 전

문제와는 관련없는 질문입니다만,

input() 을 사용할때는

a,b = map(int,input().split())

을 사용하면 자동으로 integer 형식으로 입력이 되었는데,

readline().split().strip() 을 사용할때는 저형식으로 int 변환이 잘 안되네요.

고수님들은 어떻게 하시나요? 저는 매번

a,b=sys.stdin.readline().split()

a,b=int(a),int(b)

이렇게 변환하는데, 아무래도 더 간단한 방법이 있을것 같아 여쭤봅니다!

감사합니다!

scvhero   4년 전

map(int) 쓰실거면 굳이 strip은 안해도 됩니다만

둘중 하나 쓰시면 됩니다

ie1914   4년 전

ㅎㅎ 매번 감사합니다!! 

근데, strip() 과 split()의 순서가 저번이랑 다른데,

혹시 순서에는 어떤의미가 있는지 여쭤봐도 되나요?

scvhero   4년 전

제가 둘의 순서를 바꿔서 답변한 적이 있나요?

strip()함수는 문자열의 양 끝에서 공백,개행을 제거하는 함수고 (e.g. " abcde " > "abcde")

split() 함수는 parameter(기본값: 공백)을 기준으로 분할된 리스트를 만드는 함수입니다 (e.g. "a b c de f" >[ 'a', 'b', 'c', 'de', 'f'] )

둘의 순서가 바뀌게 되면 list에 대해 strip method를 호출하게 되어 RTE가 뜰겁니다

ie1914   4년 전

네 제 전 질문에서 readline 함수를 쓸때 공백제거를 .strip()으로 하라고 말씀하셨을 때 그 때는 strip()이 먼저였어가지구요! 이해했습니다1 정말 감사드립니다!

댓글을 작성하려면 로그인해야 합니다.