28.4심사문제 질문
, EDDY LEE님이 작성x = file.readlines()로 파일에 있는 것들 한줄로 리스트를 만들잖아요,
그 다음에
for i in x:
i.strip('\n')
if i == i[::-1]:
print(i)
로 하면 왜 잘 안되는 건가요?
저 i.strip('\n')은 꼭 변수를 지정해줘야하나요?
해설에서 변수를 지정해준 이유는 뭐죠?
Re: 28.4심사문제 질문
, 도장_ 관리자님이 작성문제 설명에 strip을 하는 이유가 설명되어 있습니다.
그리고 파일에서 읽은 단어는 \n이 붙어있으므로 \n을 제외한 뒤 회문인지 판단해야 하며 단어를 출력할 때도 \n이 출력되면 안 됩니다(단어 사이에 줄바꿈이 두 번 일어나면 안 됨).
i.strip만 하면 결과가 저장되지 않습니다.
'hello\n'이 있다면
i.strip('\n')은 \n을 없앤 결과는 IDLE에서 출력하지만, 결과를 저장하지 않으니까
i는 여전히 'hello\n'입니다.
단어 리스트가 준비되었으면 for word in words:와 같이 리스트를 반복하면서 단어가 회문인지 판단합니다.
해설의 변수명은 예시입니다.
다만, for i in x보다는 for word in words가 읽기 쉽습니다.
당연히 회사에서도 후자와 같이 코딩하라고 하지, 전자와 같이 코딩하면 거절됩니다. 변수 이름은 직관적으로 지어야 합니다. 타이핑이 귀찮다고 축약해서 쓰면 이해하기도 어렵지만, 영타도 늘지 않습니다. 영타가 늘지 않으면 코딩이 느리다는 뜻이죠. 발전하지 않습니다. 의식적으로라도 영어 단어를 자주 타이핑하고, 변수명을 직관적으로 해야 합니다.
Re: 28.4심사문제 질문
, EDDY LEE님이 작성아하 변수를 저장해야 한다는 중요한 걸 잊고 있었네요.
또한 변수는 앞으로 딱 봐도 뭐가 무엇을 뜻하는 지 알 수 있도록 설정하겠습니다 ㅎㅎ
좋은 답변 감사합니다!