我编写了一些代码来在屏幕周围随机放置点;但是,它并没有覆盖整个屏幕:
import turtle
import random
t = turtle.Turtle()
color = ["red", "green", "blue", "pink", "yellow", "purple"]
t.speed(-1)
for i in range(0, 500):
print(turtle.Screen().screensize())
z = turtle.Screen().screensize()
x = z[0]
y = z[1]
t.color(color[random.randint(0,5)])
t.dot(4)
t.setposition(random.randint(-x,x), random.randint(-y,y))
turtle.done()
最佳答案
“屏幕”是指 turtle 的逻辑边界(可滚动区域),它可能与窗口大小不同。
调用Screen().setup(width, height)
设置窗口大小,然后使用 Screen().window_width()
和 Screen().window_height()
函数来访问其大小。
您还可以确保screensize
与窗口大小匹配,然后按照您的方式使用它。使用 Screen().screensize(width, height)
设置屏幕尺寸.
此外,您的随机数选择超出范围。使用
random.randint(0, width) - width // 2
将范围移动到以 0 为中心。
放在一起:
from random import choice, randint
from turtle import Screen, Turtle
screen = Screen()
screen.setup(480, 320)
colors = "red", "green", "blue", "pink", "yellow", "purple",
t = Turtle()
t.speed("fastest")
for _ in range(0, 100):
t.color(choice(colors))
t.dot(4)
w = screen.window_width()
h = screen.window_height()
t.setposition(randint(0, w) - w // 2, randint(0, h) - h // 2)
screen.exitonclick()
关于python - Turtle.Screen().screensize() 未输出正确的屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60357667/