Python 属性错误:';非类型';对象没有属性';铅笔色';
大家好。 这是我第一次来这里,我是Python新手 当我写这段代码的时候Python 属性错误:';非类型';对象没有属性';铅笔色';,python,turtle-graphics,attributeerror,nonetype,Python,Turtle Graphics,Attributeerror,Nonetype,大家好。 这是我第一次来这里,我是Python新手 当我写这段代码的时候 import turtle t=turtle.Pen() t=turtle.bgcolor("black") sides=6 colors=("blue", "red", "green", "white", "yellow", "purple") for x in range(360): t.pencolor(colors[x % sides]) t.forward(x*3/sides+x) t.left(360/side
import turtle
t=turtle.Pen()
t=turtle.bgcolor("black")
sides=6
colors=("blue", "red", "green", "white", "yellow", "purple")
for x in range(360):
t.pencolor(colors[x % sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/200)
运行时,我收到一条消息:
“回溯(最近一次呼叫):文件“C:/Users/emin\uux/PycharmProjects/firstproject/AydA.py”,第10行,在 t、 pencolor(颜色[x%边])属性错误:“非类型”对象没有属性“pencolor” 我将非常感谢任何建议和帮助
诚恳地说,paDrEdadash以及@JohnGordon指出的
t=turtle.bgcolor(“黑色”)
中的None
赋值(尽管turtle.bgcolor(“黑色”)
很好),所示缩进不正确,如果侧面
和透镜(颜色)
不一致,则代码可能会因颜色上的索引超出范围而出错。我建议采用以下方法来避免问题:
from turtle import Screen, Turtle
SIDES = 6
COLORS = ("blue", "red", "green", "white", "yellow", "purple")
screen = Screen()
screen.bgcolor("black")
turtle = Turtle()
for x in range(360):
turtle.pencolor(COLORS[(x % SIDES) % len(COLORS)])
turtle.forward(x*3 / SIDES + x)
turtle.left(360 / SIDES+1)
turtle.width(x * SIDES/200)
screen.exitonclick()
以及@JohnGordon指出的t=turtle.bgcolor(“黑色”)
中的None
赋值(尽管turtle.bgcolor(“黑色”)
很好),所示缩进不正确,如果侧面
和透镜(颜色)
不一致,则代码可能会因颜色上的索引超出范围而出错。我建议采用以下方法来避免问题:
from turtle import Screen, Turtle
SIDES = 6
COLORS = ("blue", "red", "green", "white", "yellow", "purple")
screen = Screen()
screen.bgcolor("black")
turtle = Turtle()
for x in range(360):
turtle.pencolor(COLORS[(x % SIDES) % len(COLORS)])
turtle.forward(x*3 / SIDES + x)
turtle.left(360 / SIDES+1)
turtle.width(x * SIDES/200)
screen.exitonclick()
t=turtle.bgcolor(“黑色”)
您正在将t
重新分配给返回值为空的函数调用。我相信bgcolor()
是一个屏幕函数,而不是海龟笔函数。@JohnGordon,bgcolor()
是一个屏幕方法,但也是海龟模块的顶级函数,因此turtle.bgcolor(“黑色”)
是正确的。只是将毫无价值的返回值赋值是假的。t=turtle.bgcolor(“black”)
您正在将t
重新赋值给具有空返回值的函数调用。我相信bgcolor()
是一个屏幕函数,而不是海龟笔函数。@JohnGordon,bgcolor()
是一个屏幕方法,但也是海龟模块的顶级函数,因此turtle.bgcolor(“黑色”)
是正确的。只是分配毫无价值的返回值是假的。亲爱的@cdlane,谢谢你的推荐。我试试看。亲爱的@cdlane,谢谢你的推荐。我试试看。