在Python2.6.4中,为什么函数调用会出现语法错误,而函数本身就已经定义并完美地工作了?

2024-09-27 00:14:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这发生在IDLE和windows7rc1中(如果有帮助的话)。以下是模块:

    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然后在pie函数中突出显示“spokes”单词。在

如果我把整个饼图函数注释掉,程序运行得很好。在


Tags: ofthenumberfordefwithlengthbob
3条回答

上一行缺少右括号。应该改成这样:

length_of_spoke = length_of_side/(2*sin(pi/180*angle/2))

快速浏览一下,在调用spokes()之前,是否缺少行尾的右括号?在

length_of_spoke = length_of_side/(2*sin(pi/180*angle/2))

而不是

^{pr2}$

上一行缺少右括号:

length_of_spoke = length_of_side/(2*sin(pi/180*angle/2)

相关问题 更多 >

    热门问题