Skip to main content
 首页 » 编程设计

python之在 Python 2.6.4 中,为什么我会收到函数调用的语法错误,其中函数已定义并且可以自行完美运行

2025年05月04日10zhujiabin

这发生在 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 然后突出显示饼图函数中的“轮辐”一词。

如果我注释掉整个 pie 函数,程序运行完美。

请您参考如下方法:

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

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

代替

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