网上找的画彩虹,本人不是专业编程,多年一直在坚持学编程,10多年来一直坚持,还请看到帮忙看下,带一下
import turtle
q = turtle.pen()
turtle.bgcolor('black')
sides = 7
colors = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple']
for x in range(360):
q.speed(35)
q.pencolor(colors([x % sides]))
q.forward(x * 3 / sides + x)
q.left(360 / sides + 1)
q.width(x * sides / 200)
C:\Users\admin\AppData\Local\Programs\Python\Python36\python.exe D:/Python/TestAPP/test彩虹.py
Traceback (most recent call last):
File "D:/Python/TestAPP/test彩虹.py", line 8, in
q.speed(35)
AttributeError: 'dict' object has no attribute 'speed'
Process finished with exit code 1
尝试多次运行不出来
需要运行结果
import turtle as t
#q = t.pen()
t.bgcolor('black')
sides = 7
colors = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple']
t.speed(35)
t.begin_fill()
for x in range(360):
n = x % sides
t.pencolor(colors[n])
t.forward(x * 3 / sides + x)
t.left(360 / sides + 1)
t.width(x * sides / 200)
#这样写也可以摘至网友,但是不是自己想要写法的样子。
#-*- coding:utf-8 –*-
from turtle import *
def HSB2RGB(hues):
hues = hues * 3.59 #100转成359范围
rgb=[0.0,0.0,0.0]
i = int(hues/60)%6
f = hues/60 -i
if i == 0:
rgb[0] = 1; rgb[1] = f; rgb[2] = 0
elif i == 1:
rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0
elif i == 2:
rgb[0] = 0; rgb[1] = 1; rgb[2] = f
elif i == 3:
rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1
elif i == 4:
rgb[0] = f; rgb[1] = 0; rgb[2] = 1
elif i == 5:
rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f
return rgb
def rainbow():
hues = 0.0
color(1,0,0)
#绘制彩虹
hideturtle()
speed(100)
pensize(3)
penup()
goto(-400,-300)
pendown()
right(110)
for i in range (100):
circle(1000)
right(0.13)
hues = hues + 1
rgb = HSB2RGB(hues)
color(rgb[0],rgb[1],rgb[2])
penup()
def main():
setup(800, 600, 0, 0)
bgcolor((0.8, 0.8, 1.0))
tracer(False)
rainbow()
#输出文字
tracer(False)
goto(100,-100)
pendown()
color("red")
write("彩虹桥",align="center",
font=("Script MT Bold", 80, "bold"))
tracer(True)
mainloop()
if __name__ == "__main__":
main()