2017-07-27 79 views
0

我想写一个程序来绘制一朵花,但不管我做了什么,它总是抛出一个“无效的语法”错误的乌龟名称。我已经拿出了所有其他的代码,尝试命名乌龟的东西不同,但没有任何作品。有任何想法吗?乌龟名称的语法无效(python)

import turtle 

def draw_flower(): 
    window = turtle.Screen() 
    window.bgcolor(#42dff4) 

    sam = turtle.Turtle() 
    sam.forward(50) 

window.exitonclick() 

draw_flower() 
+4

'window.bgcolor(#42dff4)'使'#42dff4'成为一个字符串。也就是说,用引号括起来。 –

+0

非常感谢! –

+2

当你得到一个SyntaxError时,检查前一行通常是一个好主意。在你的情况下,Python将'#'视为开始注释,并且它不能说出语法是坏的,直到它看到下一行,并且认识到'sam ='stuff在window.bgcolor(' 。 –

回答

2

除了引用颜色串,如注释中所述,您的代码行顺序错误。例如,通常没有什么应遵循window.exitonclick()

window.exitonclick() 

draw_flower() 

让它(或window.mainloop())程序的最后一条语句时,你的代码最终和Tk的事件处理循环开始因为这是。即颠倒这两条语句的顺序。第二个问题是变量window是在错误的范围:

def draw_flower(): 
    window = turtle.Screen() 
    ... 

window.exitonclick() 

,因为它是在draw_flower()本地定义的,它不是提供给全球范围内使用。下面是代码解决这两个问题的返工:

import turtle 

def draw_flower(): 
    sam = turtle.Turtle() 
    sam.forward(50) 

window = turtle.Screen() 
window.bgcolor("#42dff4") 

draw_flower() 

window.exitonclick() 
+0

非常感谢! –