利用turtle绘图:1000个同心正方形逐渐缩小,10种颜色,每种颜色100个正方形,最外层边长为1000请用python帮我写三个可以完成这个任务的程序
时间: 2024-06-02 20:13:24 浏览: 8
程序1:
import turtle
turtle.speed(0)
colors = ["red", "orange", "yellow", "green", "cyan", "blue", "purple", "pink", "brown", "black"]
length = 1000
square_count = 100
for i in range(10):
color = colors[i]
square_length = length // square_count
for j in range(square_count):
turtle.color(color)
turtle.penup()
turtle.setpos(-square_length * j, -square_length * j)
turtle.pendown()
for k in range(4):
turtle.forward(square_length * (2 * j + 1))
turtle.left(90)
length -= square_length
turtle.done()
程序2:
import turtle
turtle.speed(0)
colors = ["red", "orange", "yellow", "green", "cyan", "blue", "purple", "pink", "brown", "black"]
length = 1000
square_count = 100
for i in range(10):
color = colors[i]
square_length = length // square_count
for j in range(1, square_count + 1):
turtle.color(color)
turtle.penup()
turtle.setpos(-square_length * j, -square_length * j)
turtle.pendown()
for k in range(4):
turtle.forward(square_length * (2 * j - 1))
turtle.left(90)
length -= square_length
turtle.done()
程序3:
import turtle
turtle.speed(0)
colors = ["red", "orange", "yellow", "green", "cyan", "blue", "purple", "pink", "brown", "black"]
length = 1000
square_count = 100
turtle.hideturtle()
for i in range(10):
color = colors[i]
square_length = length // square_count
for j in range(1, square_count + 1):
turtle.color(color)
turtle.penup()
turtle.setpos(-square_length * j, -square_length * j)
turtle.pendown()
turtle.begin_fill()
for k in range(4):
turtle.forward(square_length * (2 * j - 1))
turtle.left(90)
turtle.end_fill()
length -= square_length
turtle.done()