Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license()" for more information. >>> import turtle, math >>> alice = turtle.Turtle() >>> def spiral(t, n, scale): for i in range(1, n+1): t.forward(math.sqrt(i)*scale) t.left(90) t.forward(1*scale) beta = math.atan2(math.sqrt(i),1) gamma = 180 - math.degrees(beta) t.left(gamma) t.forward(math.sqrt(i+1)) t.left(180) return() >>> def spiral(t, n, scale): for i in range(1, n+1): t.forward(math.sqrt(i)*scale) t.left(90) t.forward(1*scale) beta = math.atan2(math.sqrt(i),1) gamma = 180 - math.degrees(beta) t.left(gamma) t.forward(math.sqrt(i+1)*scale) t.left(180) return() >>> alice.forward(10) >>> alice.forward(50) >>> alice.left(90) >>> alice.forward(50) >>> beta = math.atan2(math.sqrt(1),1) >>> beta 0.7853981633974483 >>> gamma = 180 - math.degrees(beta) >>> gamma 135.0 >>> alice.left(gamma) >>> alice.forward(math.sqrt(2)*50) >>> def spiral(t, n, scale): for i in range(1, n+1): t.forward(math.sqrt(i)*scale) t.left(90) t.forward(1*scale) beta = math.atan2(math.sqrt(i),1) gamma = 180 - math.degrees(beta) t.left(gamma) t.forward(math.sqrt(i+1)*scale) t.left(180) return() >>> spiral(alice, 10, 50) () >>> alice.reset() >>> spiral(alice, 10, 50) () >>> alice.reset() >>> spiral(alice, 10, 20) () >>>