더북(TheBook)

12.5 요약

이 장에서는 사용자에게 성과 이름을 두 가지 물어보고 둘을 조합하는 프로그램을 작성해 보았다. 모든 성명을 성과 이름으로 나눈 다음 각각을 변수에 저장하고, 이름과 성을 서로 매시업해서 사용자에게 결과를 보여줬다. 다음은 꼭 기억해야 할 내용이다.

사용자는 프로그램에 입력을 여러 번 할 수 있다.

find 연산으로 사용자가 입력한 문자열에서 부분 문자열의 위치를 찾을 수 있다.

문자열을 변수에 저장한 다음, + 연산을 사용해서 두 문자열을 연결할 수 있다.

print 연산으로 사용자에게 출력을 보여줄 수 있다.

 

1 역주 본문에서는 조합의 편의상 영어 이름과 성으로 된 원래 예제를 그대로 사용했다. 하지만 원한다면 한글을 사용해 이름을 처리하도록 해도 좋다. 세 번째 방법(Alice와 Bob에서 Bolice를 만들어내는 문제)은 사실 입문 수준에서 풀기는 약간 어려운 문제다. 모음의 위치를 따져서 영어에서 사용 가능한 음절이 되도록 뒤섞어야 하기 때문이다. 한글을 사용할 경우 음절을 뒤섞는 것은 오히려 영어 알파벳을 사용하는 경우와 별 차이가 없이 편하게 처리할 수 있지만, 초, 중, 종성으로 이뤄진 자모를 서로 뒤섞으려면 더 복잡해진다. 이렇게 같은 문제라도 세부 사항을 추가하거나 없애면 난이도가 엄청나게 달라질 수 있다는 점이 코딩의 묘미 중 하나이기도 하다. 다양한 제약을 추가하거나 없애면서 여러 가지를 연습하기 바란다.

 

2 역주 물론 실전에서는 이런 입력이 들어오면 적절히 걸러내야 한다. 오류 메시지를 표시하고 다시 입력하게 하거나, 프로그램을 무조건 종료시키는 방법이 있다. 무조건 종료시키는 것이 좀 어이없어 보일지 모르겠지만 오류가 발생할 수 있는 입력을 가지고 프로그램이 한참 돌다가 엉뚱한 곳에서 오류가 나는 것보다 오히려 개발과 디버깅에 더 도움이 되는 경우도 많다. 프로그램을 작성하다가 오류가 발생할 여지가 보이는데, 딱히 그 오류를 해결할 좋은 방법이 없는 경우에는 차라리 그 문제점을 콘솔에 표시하고 프로그램을 즉시 종료시키는 것을 권한다. 문제를 발견한 후에는 그런 문제를 일으키는 입력을 막거나, 문제가 발생한 부분을 대신할 수 있는 다른 값을 사용하는 등의 방식으로 문제를 우회할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.