4.5 일반화
다음 단계는 square에 length 인자를 추가하는 것이다. 해법은 다음과 같다.
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)