我必须对此特定代码进行更改,从而生成一个正方形的圆形网格,我必须更改代码以创建一个三角形的圆形网格。
import turtle
window = turtle.Screen()
my_boi = turtle.Turtle()
my_boi.speed(0)
for y in range(-200,200,50):
for x in range(-200,200,50):
my_boi.penup()
my_boi.setposition(x,y)
my_boi.pendown()
my_boi.circle(20)
window.exitonclick()
答案 0 :(得分:2)
我敢肯定有一种更聪明的方法,但这是做到这一点的一种方法:
import turtle
window = turtle.Screen()
my_boi = turtle.Turtle()
my_boi.speed(0)
for (i,y) in enumerate(range(-200,200,50)):
for x in range(-200+(25*i),200-(25*i),50):
my_boi.penup()
my_boi.setposition(x,y)
my_boi.pendown()
my_boi.circle(20)
window.exitonclick()
turtle.done()
在第二个for循环中,该范围迭代地减小了每侧圆直径的1/2。
答案 1 :(得分:0)
我会简化一些事情:
from turtle import Screen, Turtle
window = Screen()
my_boi = Turtle()
my_boi.speed('fastest')
my_boi.penup()
for y in range(1, 9):
my_boi.setposition(-25 * y + 25, 50 * y - 250)
for x in range(y):
my_boi.pendown()
my_boi.circle(20)
my_boi.penup()
my_boi.forward(50)
my_boi.hideturtle()
window.exitonclick()
仅需通过setposition()
计算并放置每行的起始位置。列位置可以是一个简单的forward()
语句。