더북(TheBook)

4.5 일반화

다음 단계는 squarelength 인자를 추가하는 것이다. 해법은 다음과 같다.

def square(t, length):

for i in range(4):

t.fd(length)

t.lt(90)

 

square(bob, 100)

함수에 인자를 추가하면 함수를 더 범용적(general)으로 만들기 때문에 이를 일반화(generalization)라고 한다. 예를 들어 이전 버전에서 사각형은 항상 같은 크기였지만, 이번 버전에서는 원하는 크기로 사각형을 그릴 수 있다.

다음 단계도 일반화다. 사각형을 그리는 대신에 polygon은 변이 n개인 정다각형을 그린다. 해법은 다음과 같다.

def polygon(t, n, length):

angle = 360 / n

for i in range(n):

t.fd(length)

t.lt(angle)

 

polygon(bob, 7, 70)

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