python - Turtle.Screen().screensize() 未输出正确的屏幕尺寸

标签 python turtle-graphics python-turtle

我编写了一些代码来在屏幕周围随机放置点;但是,它并没有覆盖整个屏幕:

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()

output

最佳答案

“屏幕”是指 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/

相关文章:

python - 让 turtle 从墙上弹起来

python - 我正在尝试制作乒乓球游戏,但球的速度不断变化,我找不到问题所在

python - turtle 和 turtle 有什么区别?

具有依赖于 CPU 密集型计算的响应的 Python 异步 REST API。如何高效处理?

python - 如何跨多个服务器轻松切换 Django 1.9.x 中的数据库

python - QtWebkit 和 hasPendingEvents() 始终为 True

Visual Studio 代码中的 Python Turtle 错误

python - 使用 turtle 的 PyCharm false 语法错误

python - 开始用三角形平铺屏幕

python - 如何针对不同版本的 python 运行 py.test?