根据它们在Python中的位置设置点颜色?
这段代码画了一个正方形,用一条线把它分成两个相等的三角形。我怎样才能让落在一半正方形上的点变成红色,但当它们落在另一半正方形上时变成蓝色。没有落在正方形中的点保持黑色。我猜您使用的是随机模块,首先生成x坐标,然后生成y坐标。如果这确实是您的方法,那么在生成每个方法时对其进行检查,看看它是否在您的框的范围内。ie根据它们在Python中的位置设置点颜色?,python,python-2.7,turtle-graphics,Python,Python 2.7,Turtle Graphics,这段代码画了一个正方形,用一条线把它分成两个相等的三角形。我怎样才能让落在一半正方形上的点变成红色,但当它们落在另一半正方形上时变成蓝色。没有落在正方形中的点保持黑色。我猜您使用的是随机模块,首先生成x坐标,然后生成y坐标。如果这确实是您的方法,那么在生成每个方法时对其进行检查,看看它是否在您的框的范围内。ieif(x>10)和(x15)和(y
if(x>10)和(x<20):
和if(y>15)和(y<25):
如果该语句为真,则将一个变量设置为红色,else
,将其设置为蓝色,因为已经有几年了,下面是这个问题的可行解决方案。注意,我从turtle.dot()
切换到turtle.stamp()
,这将使执行速度提高2.5倍:
from turtle import *
from random import randint
speed("fastest")
pendown()
goto(200, 0)
goto(200, 200)
goto(0, 200)
goto(0,0)
goto(200,200)
area_size = 800
max_coord = area_size / 2
num_dots = 300
setup(area_size, area_size)
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(4)
pendown()
hideturtle()
done()
我说的是如果我用下面的命令画了一个正方形,导入turtle-turtle.pendown()turtle.forward(200)turtle.left(90)turtle.forward(200)turtle.left(90)turtle.forward(200)turtle,我如何让进入广场的人换成红色?我如何定义正方形。对不起,我是个十足的巨蟒noob@user2673638如何“生成”300个随机点,然后绘制它们?海龟从哪里开始?这些是您应该编辑问题以包括在内的内容,以便我们能够更好地帮助您。你能在原始问题中发布你正在使用的所有相关代码吗?
from turtle import Turtle, Screen
from random import randint
AREA_SIZE = 800
MAX_COORD = AREA_SIZE / 2
SQUARE_SIZE = 200
DOT_SIZE = 4
NUM_DOTS = 300
STAMP_SIZE = 20
screen = Screen()
screen.setup(AREA_SIZE, AREA_SIZE)
turtle = Turtle(shape="circle")
turtle.shapesize(DOT_SIZE / STAMP_SIZE)
turtle.speed("fastest")
for _ in range(4):
turtle.forward(SQUARE_SIZE)
turtle.left(90)
turtle.left(45)
turtle.goto(SQUARE_SIZE, SQUARE_SIZE)
turtle.penup()
black, red, green = 0, 0, 0
for _ in range(NUM_DOTS):
color = "black"
x = randint(-MAX_COORD, MAX_COORD)
y = randint(-MAX_COORD, MAX_COORD)
turtle.goto(x, y)
# color dot if it's in the square but not smack on any of the lines
if 0 < x < SQUARE_SIZE and 0 < y < SQUARE_SIZE:
if x < y:
color = "green" # easier to distinguish from black than blue
green += 1
elif y < x:
color = "red"
red += 1
else black += 1 # it's on the line!
else:
black += 1 # it's not in the square
turtle.color(color)
turtle.stamp()
turtle.hideturtle()
print("Black: {}\nRed: {}\nGreen: {}".format(black, red, green))
screen.exitonclick()
> python3 test.py
Black: 279
Red: 5
Green: 16
>