Почему цвет графического фона черепахи Python не меняется? - PullRequest
0 голосов
/ 27 октября 2018

Будучи новичком в Python, я только начал использовать графику. Я только что посмотрел учебник, в котором репетитор использовал модуль "черепаха". Я борюсь, так как цвет фона и заголовок меняются, несмотря на мой код:

#Space Invaders
import turtle
import os

#Set up screen
wn = turtle.Screen()
wn.bgcolor(33,255,0)
wn.title("Space Invaders")

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 27 октября 2018

Вы должны были получить ошибку:

turtle.TurtleGraphicsError: bad color sequence: (33, 255, 0)

Python Turtle имеет два числовых цветовых режима: целое число (0 - 255) и число с плавающей точкой (0,0 - 1,0). По умолчанию используется плавающий цветовой режим:

>>> import turtle
>>> turtle.colormode()
1.0
>>> help(turtle.colormode)
Help on function colormode in module turtle:

colormode(cmode=None)
    Return the colormode or set it to 1.0 or 255.

    Optional argument:
    cmode -- one of the values 1.0 or 255

    r, g, b values of colortriples have to be in range 0..cmode.

    Example:
    >>> colormode()
    1.0
    >>> colormode(255)
    >>> pencolor(240,160,80)

>>> 

Вы должны явно запросить целое число:

# Space Invaders
import turtle

# Set up screen
wn = turtle.Screen()
wn.colormode(255)
wn.bgcolor(33, 255, 0)
wn.title("Space Invaders")

wn.mainloop()

Вам необходимо завершить mainloop() или одним из его вариантов (done(), exitonclick()), чтобы передать управление циклу событий tkinter, чтобы держать окно открытым. В противном случае он выпадет из конца сценария и закроется.

...