더북(TheBook)

금지 문자 목록 대신 허용 문자 목록을 사용한다. word에서 이용할 수 없는 문자를 발견하면 False를 반환한다.

uses_all은 단어와 문자들로 된 문자열의 역할을 거꾸로 한다는 점만 제외하면 비슷하다.

def uses_all(word, required):

for letter in required:

if letter not in word:

return False

return True

루프는 word의 문자들을 순회하지 않고, 필수 문자들을 순회한다. 필수 문자가 단어에 없다면 False를 반환한다.

정말 컴퓨터 과학자처럼 생각하고 싶다면 uses_all이 앞서 해결한 문제들의 한 가지 예에 불과하다는 점을 알아챘어야 하며 다음과 같이 작성할 수도 있어야 한다.

def uses_all(word, required):

return uses_only(required, word)

이 예는 프로그램 개발 계획에서 이전에 해결한 문제를 개선하기라고 하는 것이다. 작업 중인 문제를 해결된 문제의 한 예로 인식하고 기존 해법을 적용하는 것이다.

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