0

好的,这段代码使用海龟图形绘制了一个正方形,然后在屏幕上创建了大约 300 个随机放置的点。我可以在当前代码中添加或更改什么以使点位于正方形内部以更改颜色,例如红色。落在外面的点保持相同的颜色?有没有一种简单的方法可以做到这一点?任何人都可以在我的代码中添加任何内容吗?提前致谢。

from turtle import *
from random import randint
speed("fastest")

area_size = 800 
max_coord = area_size / 2
num_dots = 300 
setup(area_size, area_size)

penup()
goto(-200, -200)
pendown()
goto(200, -200)
goto(200, 200)
goto(-200,200)
goto(-200,-200)
goto(200,200)


for _ in range(num_dots):

    dots_pos_x = randint(-max_coord, max_coord)
    dots_pos_y = randint(-max_coord, max_coord)

    penup()
    goto(dots_pos_x, dots_pos_y)
    dot(7)
    pendown()

hideturtle()
done()
4

2 回答 2

0

关于您在 Brionius 的回答中的评论,如果您有一个完美尺寸的正方形并且对角线贯穿两个角(即从底角到顶角),您需要做的就是说:

if(xcor() < ycor()): 
    # Do whatever
else :
    # Do whatever

这是因为我们假设穿过正方形的对角线的梯度为 1。我希望我说清楚了。

于 2013-08-17T14:10:23.900 回答
0

我在你的 for 循环中添加了几行来满足你的要求:

for _ in range(num_dots):

    dots_pos_x = randint(-max_coord, max_coord)
    dots_pos_y = randint(-max_coord, max_coord)

    penup()
    goto(dots_pos_x, dots_pos_y)
    if -200 <= dots_pos_x <= 200 and -200 <= dots_pos_y <= 200:
        pencolor((255, 0, 0))
    else:
        pencolor((0, 0, 0))
    dot(7)
    pendown()
于 2013-08-13T05:40:41.907 回答