我需要些帮助。我正在用巨蟒写我的首字母,但无论出于什么原因,我都不能让乌龟动起来。即使光标移动,海龟仍然从屏幕的中央开始。尽管我使用的是penup()和pendown()。
我已经把我的代码压缩成这样了:
import turtle
window = turtle.Screen()
window.bgcolor("red")
def draw_art():
charles = turtle.Turtle()
charles.shape("turtle")
charles.color("yellow")
charles.speed(2)
turtle.penup()
turtle.goto(-100,50)
turtle.pendown()
charles.back(100)
charles.right(90)
charles.forward(100)
charles.right(90)
charles.backward(100)
window.exitonclick()
draw_art()发布于 2017-06-28 00:28:59
海龟模块向程序员展示了一个功能和面向对象的界面.您已经使成为意外混合这两种情况的常见错误。当你写:
charles = turtle.Turtle()
charles.forward(100)你在你创建的海龟上使用面向对象的界面。(对你很好!)但这一点:
turtle.goto(-100, 50)调用为您创建的默认海龟上的函数接口。有一种简单的方法可以避免这个错误--而不是使用以下语句:
import turtle用途:
from turtle import Turtle, Screen这锁定了函数接口,并且只允许面向对象的接口。因此,您的示例代码现在看起来如下:
from turtle import Turtle, Screen
def draw_art():
charles = Turtle('turtle')
charles.color('yellow')
charles.speed('slow')
charles.penup()
charles.goto(-100, 50)
charles.pendown()
charles.back(100)
charles.right(90)
charles.forward(100)
charles.right(90)
charles.backward(100)
window = Screen()
window.bgcolor('red')
draw_art()
window.exitonclick()像turtle.goto(-100, 50)这样的调用现在将生成一个错误:name 'turtle' is not defined
发布于 2017-06-27 23:45:23
def draw_art(): charles = turtle.Turtle()
让我们谈谈为什么移动查尔斯:
首先,您创建了Turtle类的一个实例,并将其设置为变量charles。
查尔斯是只海龟,是的,但是你想要移动查尔斯--他就是你那种叫做海龟的“类型”。
希望这能帮助你理解!有关更多信息,请查看Python中的OOP。
https://stackoverflow.com/questions/44791295
复制相似问题