AttributeError: 'function' object has no attribute 'penup'
AttributeError: 'function' object has no attribute 'penup'
我写了下面的代码:
import turtle
from turtle import penup
a = turtle.Turtle(visible=False)
a.speed(0)
b = turtle.Turtle(visible=False)
b.speed(0)
e = turtle.Turtle(visible=False)
e.speed(0)
f = turtle.Turtle(visible=False)
f.speed(0)
pedlightone = turtle.Turtle(visible=False)
pedlightone.speed(0)
pedlighttwo = turtle.Turtle(visible=False)
pedlighttwo.speed(0)
horizontalsplit = turtle.Turtle()
horizontalsplit.speed(0)
verticlesplit = turtle.Turtle()
verticlesplit.speed(0)
def a_movement():
a.penup()
a.goto(-475,25)
a.pendown()
a.goto(-25,25)
a.left(90)
a.forward(400)
a.backward(400)
def b_movement():
b.penup()
b.goto(-475,-25)
b.pendown()
b.goto(-25,-25)
b.right(90)
b.forward(400)
b.backward(400)
def e_movement():
e.penup()
e.goto(475,25)
e.pendown()
e.goto(25,25)
e.left(90)
e.forward(400)
e.backward(400)
def f_movement():
f.penup()
f.goto(475,-25)
f.pendown()
f.goto(25,-25)
f.right(90)
f.forward(400)
f.backward(400)
def horizontal_split():
horizontalsplit.penup()
horizontalsplit.goto(-475,0)
horizontalsplit.pendown()
horizontalsplit.goto(475,0)
def verticle_split():
verticlesplit.penup()
verticlesplit.goto(0,400)
verticlesplit.pendown()
verticlesplit.goto(0,-400)
def pedlightone():
pedlightone.penup()
pedlightone.goto(-25,25)
pedlightone.pendown()
pedlightone.right(45)
for i in range(8):
pedlightone.forward(5)
pedlightone.penup()
pedlightone.forward(5)
pedlightone.pendown()
def pedlighttwo():
pedlighttwo.penup()
pedlighttwo.goto(25,25)
pedlightone.pendown()
pedlighttwo.left(45)
for i in range(8):
pedlighttwo.forward(5)
pedlighttwo.penup()
pedlighttwo.forward(5)
pedlighttwo.pendown
def roaddiagram():
a_movement()
b_movement()
e_movement()
f_movement()
horizontal_split()
verticle_split()
pedlightone()
pedlighttwo()
roaddiagram()
当我 运行 这样做时,它画了一个十字,中间有一条线,这就是我想要它做的。
但是,我收到一个属性错误,指出 'function' 没有属性 'penup'
确切的错误是:
AttributeError: 'function' 对象没有属性 'penup'
谁能帮我指出我哪里做错了。
这件事以前发生过,但它自己解决了,不需要我做任何事情。
谢谢
我通常不提倡使用更少的函数,但在这种情况下,您所做的一切实际上只是初始化,这样可以避免名称冲突:
import turtle
from turtle import penup
a = turtle.Turtle(visible=False)
a.speed(0)
b = turtle.Turtle(visible=False)
b.speed(0)
e = turtle.Turtle(visible=False)
e.speed(0)
f = turtle.Turtle(visible=False)
f.speed(0)
pedlightone = turtle.Turtle(visible=False)
pedlightone.speed(0)
pedlighttwo = turtle.Turtle(visible=False)
pedlighttwo.speed(0)
horizontalsplit = turtle.Turtle()
horizontalsplit.speed(0)
verticlesplit = turtle.Turtle()
verticlesplit.speed(0)
def roaddiagram():
a.penup()
a.goto(-475,25)
a.pendown()
a.goto(-25,25)
a.left(90)
a.forward(400)
a.backward(400)
b.penup()
b.goto(-475,-25)
b.pendown()
b.goto(-25,-25)
b.right(90)
b.forward(400)
b.backward(400)
e.penup()
e.goto(475,25)
e.pendown()
e.goto(25,25)
e.left(90)
e.forward(400)
e.backward(400)
f.penup()
f.goto(475,-25)
f.pendown()
f.goto(25,-25)
f.right(90)
f.forward(400)
f.backward(400)
horizontalsplit.penup()
horizontalsplit.goto(-475,0)
horizontalsplit.pendown()
horizontalsplit.goto(475,0)
verticlesplit.penup()
verticlesplit.goto(0,400)
verticlesplit.pendown()
verticlesplit.goto(0,-400)
pedlightone.penup()
pedlightone.goto(-25,25)
pedlightone.pendown()
pedlightone.right(45)
for i in range(8):
pedlightone.forward(5)
pedlightone.penup()
pedlightone.forward(5)
pedlightone.pendown()
pedlighttwo.penup()
pedlighttwo.goto(25,25)
pedlightone.pendown()
pedlighttwo.left(45)
for i in range(8):
pedlighttwo.forward(5)
pedlighttwo.penup()
pedlighttwo.forward(5)
pedlighttwo.pendown
roaddiagram()
就此而言,您并不真的需要 8 只不同的海龟。这些都是独立的。你想添加一些评论,但这样做是一样的:
import turtle
a = turtle.Turtle(visible=False)
a.speed(0)
def roaddiagram():
a.penup()
a.goto(-475,25)
a.pendown()
a.setheading(0)
a.forward(450)
a.left(90)
a.forward(400)
a.penup()
a.goto(-475,-25)
a.pendown()
a.setheading(0)
a.forward(450)
a.right(90)
a.forward(400)
a.penup()
a.goto(475,25)
a.pendown()
a.setheading(180)
a.forward(450)
a.right(90)
a.forward(400)
a.penup()
a.goto(475,-25)
a.pendown()
a.setheading(180)
a.forward(450)
a.left(90)
a.forward(400)
a.penup()
a.goto(-475,0)
a.pendown()
a.goto(475,0)
a.penup()
a.goto(0,425)
a.pendown()
a.goto(0,-425)
a.penup()
a.goto(-25,25)
a.pendown()
a.setheading(315)
for i in range(8):
a.pendown()
a.forward(5)
a.penup()
a.forward(5)
a.penup()
a.goto(25,25)
a.setheading(225)
for i in range(8):
a.pendown()
a.forward(5)
a.penup()
a.forward(5)
roaddiagram()
我写了下面的代码:
import turtle
from turtle import penup
a = turtle.Turtle(visible=False)
a.speed(0)
b = turtle.Turtle(visible=False)
b.speed(0)
e = turtle.Turtle(visible=False)
e.speed(0)
f = turtle.Turtle(visible=False)
f.speed(0)
pedlightone = turtle.Turtle(visible=False)
pedlightone.speed(0)
pedlighttwo = turtle.Turtle(visible=False)
pedlighttwo.speed(0)
horizontalsplit = turtle.Turtle()
horizontalsplit.speed(0)
verticlesplit = turtle.Turtle()
verticlesplit.speed(0)
def a_movement():
a.penup()
a.goto(-475,25)
a.pendown()
a.goto(-25,25)
a.left(90)
a.forward(400)
a.backward(400)
def b_movement():
b.penup()
b.goto(-475,-25)
b.pendown()
b.goto(-25,-25)
b.right(90)
b.forward(400)
b.backward(400)
def e_movement():
e.penup()
e.goto(475,25)
e.pendown()
e.goto(25,25)
e.left(90)
e.forward(400)
e.backward(400)
def f_movement():
f.penup()
f.goto(475,-25)
f.pendown()
f.goto(25,-25)
f.right(90)
f.forward(400)
f.backward(400)
def horizontal_split():
horizontalsplit.penup()
horizontalsplit.goto(-475,0)
horizontalsplit.pendown()
horizontalsplit.goto(475,0)
def verticle_split():
verticlesplit.penup()
verticlesplit.goto(0,400)
verticlesplit.pendown()
verticlesplit.goto(0,-400)
def pedlightone():
pedlightone.penup()
pedlightone.goto(-25,25)
pedlightone.pendown()
pedlightone.right(45)
for i in range(8):
pedlightone.forward(5)
pedlightone.penup()
pedlightone.forward(5)
pedlightone.pendown()
def pedlighttwo():
pedlighttwo.penup()
pedlighttwo.goto(25,25)
pedlightone.pendown()
pedlighttwo.left(45)
for i in range(8):
pedlighttwo.forward(5)
pedlighttwo.penup()
pedlighttwo.forward(5)
pedlighttwo.pendown
def roaddiagram():
a_movement()
b_movement()
e_movement()
f_movement()
horizontal_split()
verticle_split()
pedlightone()
pedlighttwo()
roaddiagram()
当我 运行 这样做时,它画了一个十字,中间有一条线,这就是我想要它做的。
但是,我收到一个属性错误,指出 'function' 没有属性 'penup' 确切的错误是: AttributeError: 'function' 对象没有属性 'penup'
谁能帮我指出我哪里做错了。
这件事以前发生过,但它自己解决了,不需要我做任何事情。
谢谢
我通常不提倡使用更少的函数,但在这种情况下,您所做的一切实际上只是初始化,这样可以避免名称冲突:
import turtle
from turtle import penup
a = turtle.Turtle(visible=False)
a.speed(0)
b = turtle.Turtle(visible=False)
b.speed(0)
e = turtle.Turtle(visible=False)
e.speed(0)
f = turtle.Turtle(visible=False)
f.speed(0)
pedlightone = turtle.Turtle(visible=False)
pedlightone.speed(0)
pedlighttwo = turtle.Turtle(visible=False)
pedlighttwo.speed(0)
horizontalsplit = turtle.Turtle()
horizontalsplit.speed(0)
verticlesplit = turtle.Turtle()
verticlesplit.speed(0)
def roaddiagram():
a.penup()
a.goto(-475,25)
a.pendown()
a.goto(-25,25)
a.left(90)
a.forward(400)
a.backward(400)
b.penup()
b.goto(-475,-25)
b.pendown()
b.goto(-25,-25)
b.right(90)
b.forward(400)
b.backward(400)
e.penup()
e.goto(475,25)
e.pendown()
e.goto(25,25)
e.left(90)
e.forward(400)
e.backward(400)
f.penup()
f.goto(475,-25)
f.pendown()
f.goto(25,-25)
f.right(90)
f.forward(400)
f.backward(400)
horizontalsplit.penup()
horizontalsplit.goto(-475,0)
horizontalsplit.pendown()
horizontalsplit.goto(475,0)
verticlesplit.penup()
verticlesplit.goto(0,400)
verticlesplit.pendown()
verticlesplit.goto(0,-400)
pedlightone.penup()
pedlightone.goto(-25,25)
pedlightone.pendown()
pedlightone.right(45)
for i in range(8):
pedlightone.forward(5)
pedlightone.penup()
pedlightone.forward(5)
pedlightone.pendown()
pedlighttwo.penup()
pedlighttwo.goto(25,25)
pedlightone.pendown()
pedlighttwo.left(45)
for i in range(8):
pedlighttwo.forward(5)
pedlighttwo.penup()
pedlighttwo.forward(5)
pedlighttwo.pendown
roaddiagram()
就此而言,您并不真的需要 8 只不同的海龟。这些都是独立的。你想添加一些评论,但这样做是一样的:
import turtle
a = turtle.Turtle(visible=False)
a.speed(0)
def roaddiagram():
a.penup()
a.goto(-475,25)
a.pendown()
a.setheading(0)
a.forward(450)
a.left(90)
a.forward(400)
a.penup()
a.goto(-475,-25)
a.pendown()
a.setheading(0)
a.forward(450)
a.right(90)
a.forward(400)
a.penup()
a.goto(475,25)
a.pendown()
a.setheading(180)
a.forward(450)
a.right(90)
a.forward(400)
a.penup()
a.goto(475,-25)
a.pendown()
a.setheading(180)
a.forward(450)
a.left(90)
a.forward(400)
a.penup()
a.goto(-475,0)
a.pendown()
a.goto(475,0)
a.penup()
a.goto(0,425)
a.pendown()
a.goto(0,-425)
a.penup()
a.goto(-25,25)
a.pendown()
a.setheading(315)
for i in range(8):
a.pendown()
a.forward(5)
a.penup()
a.forward(5)
a.penup()
a.goto(25,25)
a.setheading(225)
for i in range(8):
a.pendown()
a.forward(5)
a.penup()
a.forward(5)
roaddiagram()