这是我的代码,它使用乌龟绘制一个三角形,然后生成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)
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()
答案 0 :(得分:0)
在致电dot
之前,请添加以下代码:
if -200 < dots_pos_y < dots_pos_x < 200:
pencolor('blue')
else:
pencolor('black')
if
语句会进行测试,以查看您为点选择的随机坐标是否落在三角形内。 Python的比较运算符链接使它非常紧凑!更明确的测试版本是:
(dots_pos_y > -200 and # above bottom edge of the triangle
dots_pos_x < 200 and # to the left of the right edge
dots_pos_x > dots_pos_y) # to the lower-right of the diagonal edge
在Python中,像A < B < C
这样的链式比较表达式等同于A < B and B < C
,所以两个版本的结果相同(如果你稍微重新排列它们)。