これは、IDLE および Windows 7 RC1 で発生します (それが役立つ場合)。モジュールは次のとおりです。
from math import *
from TurtleWorld import *
world = TurtleWorld()
bob = Turtle()
bob.delay = 0.1
def polyline(turtle, length, n, angle):
for i in range(n):
fd(turtle, length)
rt(turtle, angle)
def polygon(turtle, length, n):
""" polygon uses a turtle to draw a polygon
with n sides of the given length.
"""
angle = 360.0/n
polyline(turtle, length, n, angle)
def spokes(turtle, length_of_spoke, number_of_spokes):
angle = 360.0/number_of_spokes
for i in range(number_of_spokes):
turtle.fd(length_of_spoke)
turtle.pd
turtle.bk(length_of_spoke)
turtle.rt(angle)
turtle.pu
def pie(turtle, length_of_side, number_of_sides):
"""pie uses a turtle to draw a polygon
with sides of the given length and with the given
number of sides.
"""
angle = 360.0/number_of_sides
length_of_spoke = length_of_side/(2*sin(pi/180*angle/2)
spokes(turtle, length_of_spoke, number_of_sides)
turtle.pd
turtle.fd(length_of_spoke)
turtle.lt(270-angle/2)
polygon(turtle, length_of_side, number_of_sides)
spokes(bob, 30, 11)
wait_for_user()
プログラムを実行すると、「プログラムにエラーがあります: 構文が無効です」というエラーが表示されます。次に IDLE は、パイ関数内の「スポーク」という単語を強調表示します。
パイ関数全体をコメントアウトすると、プログラムは完全に実行されます。