Python 海龟渐变色(查看代码)
我试图使用海龟打印30个六边形,这些六边形呈螺旋形,颜色渐变从红色变为黑色 我将我的Python 海龟渐变色(查看代码),python,python-3.x,anaconda,jupyter-notebook,turtle-graphics,Python,Python 3.x,Anaconda,Jupyter Notebook,Turtle Graphics,我试图使用海龟打印30个六边形,这些六边形呈螺旋形,颜色渐变从红色变为黑色 我将我的乘以循环I,以更改(r,b,g)中的设定值,因此在某一点上,它将超过r=255。我包括一个if语句,使其不超过此值,但它给出了错误: File "<ipython-input-4-35d45ac44fdd>", line 20 if r > '255' ^ SyntaxError: invalid syntax 我的建议是不要使用if语句来回避错误,而是
乘以
循环I
,以更改(r,b,g)中的设定值,因此在某一点上,它将超过r=255。我包括一个if
语句,使其不超过此值,但它给出了错误:
File "<ipython-input-4-35d45ac44fdd>", line 20
if r > '255'
^
SyntaxError: invalid syntax
我的建议是不要使用
if
语句来回避错误,而是首先修复数学以避免错误。加上一些代码清理:
from turtle import Turtle, Screen
MIN_COLOR = 5
MAX_COLOR = 255
COUNT = 30
ANGLE = 5
STARTING_LENGTH = 100
LENGTH_INCREMENT = 5
N = 6
def draw_polygon(turtle, size):
angle = 360 / N
for _ in range(N):
turtle.forward(size)
turtle.left(angle)
screen = Screen()
screen.colormode(255)
mega = Turtle()
mega.speed('fastest')
length = STARTING_LENGTH
for r in range(COUNT):
red = round(r * ((MAX_COLOR - MIN_COLOR) / (COUNT - 1))) + MIN_COLOR
color = (red, 0, 0)
mega.fillcolor(color)
mega.begin_fill()
draw_polygon(mega, length)
mega.end_fill()
length += LENGTH_INCREMENT
mega.left(ANGLE)
mega.hideturtle()
screen.exitonclick()
您缺少了一个
:
,如果这是Python3,您缺少了()
和print
哦,是的!说得好,谢谢!然而,现在我正在运行它,它说:TurtleGraphicsError:bad color sequence:(265,0,0)这不是我试图阻止if语句发生的事情吗?我不知道为什么它不起作用。是的,这就是你试图阻止的。
from turtle import Turtle, Screen
MIN_COLOR = 5
MAX_COLOR = 255
COUNT = 30
ANGLE = 5
STARTING_LENGTH = 100
LENGTH_INCREMENT = 5
N = 6
def draw_polygon(turtle, size):
angle = 360 / N
for _ in range(N):
turtle.forward(size)
turtle.left(angle)
screen = Screen()
screen.colormode(255)
mega = Turtle()
mega.speed('fastest')
length = STARTING_LENGTH
for r in range(COUNT):
red = round(r * ((MAX_COLOR - MIN_COLOR) / (COUNT - 1))) + MIN_COLOR
color = (red, 0, 0)
mega.fillcolor(color)
mega.begin_fill()
draw_polygon(mega, length)
mega.end_fill()
length += LENGTH_INCREMENT
mega.left(ANGLE)
mega.hideturtle()
screen.exitonclick()