一张不够花、 发表于 2023-5-19 20:44:17

求助大神

用turtle画出七色彩虹(用元组或列表存放7种颜色)

isdkz 发表于 2023-5-19 20:44:54

可以使用Python中的turtle库来画出七色彩虹。下面是一个简单的代码示例:

import turtle

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']

turtle.speed('fastest')

for i in range(360):
    turtle.color(colors)
    turtle.forward(i/3)
    turtle.right(179)
   
turtle.done()


在这个示例中,我们首先定义了一个包含七种颜色的列表。然后,我们设置了turtle的速度为最快,然后进入一个循环中。在每次循环中,我们使用 i % len(colors) 来循环遍历颜色列表,以确保我们在七种颜色之间循环。然后,我们向前移动 turtle.forward(i/3) 个像素,然后向右旋转179度,以便我们画出一个完整的弧形。最后,我们使用 turtle.done() 来保持窗口打开,直到我们手动关闭它。

运行这个代码,你将会看到一个美丽的七色彩虹!

一张不够花、 发表于 2023-5-19 20:59:00

isdkz 发表于 2023-5-19 20:44
可以使用Python中的turtle库来画出七色彩虹。下面是一个简单的代码示例:



大神,要怎么改成彩虹的样子

sfqxx 发表于 2023-5-19 20:59:22

本帖最后由 sfqxx 于 2023-5-19 21:00 编辑

楼上的会报错,看这个
import turtle

colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
width = 30# 彩虹弧线宽度
radius = 200# 彩虹弧线半径

turtle.bgcolor("white")
turtle.speed(0)

# 循环画出七条半圆弧线段,每个线段使用一种颜色
for i in range(len(colors)):
    turtle.pensize(width)
    turtle.color(colors)
    turtle.penup()
    turtle.setposition(0, -i*20 - radius)
    turtle.pendown()
    turtle.circle(radius, 180)

turtle.hideturtle()
turtle.done()

isdkz 发表于 2023-5-19 21:04:01

sfqxx 发表于 2023-5-19 20:59
楼上的会报错,看这个

你运行过了吗?什么就会报错,你也不能张口说瞎话吧{:10_249:}

一张不够花、 发表于 2023-5-19 21:06:46

sfqxx 发表于 2023-5-19 20:59
楼上的会报错,看这个

大神可以弄成彩虹的样子吗,感觉还是差一点{:5_99:}

sfqxx 发表于 2023-5-19 21:25:48

isdkz 发表于 2023-5-19 21:04
你运行过了吗?什么就会报错,你也不能张口说瞎话吧

是的呀,我运行过了

isdkz 发表于 2023-5-19 21:28:59

sfqxx 发表于 2023-5-19 21:25
是的呀,我运行过了

那就是你运行的方式不对,我运行了怎么就没报错?顶多就画出来的结果不对

sfqxx 发表于 2023-5-19 21:34:59

isdkz 发表于 2023-5-19 21:28
那就是你运行的方式不对,我运行了怎么就没报错?顶多就画出来的结果不对

{:10_257:}
页: [1]
查看完整版本: 求助大神