mirror of
https://github.com/python/cpython.git
synced 2025-11-02 06:31:29 +00:00
[3.13] gh-138772: Fix and improve documentation for turtle color functions (GH-139325) (GH-140048)
Use multiple signatures for clarity.
Explain different forms of bgcolor() in details.
Fix outdated docstrings.
(cherry picked from commit 525dcfe523)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
278384150a
commit
0e7893207b
2 changed files with 110 additions and 57 deletions
115
Lib/turtle.py
115
Lib/turtle.py
|
|
@ -1213,16 +1213,32 @@ def turtles(self):
|
|||
def bgcolor(self, *args):
|
||||
"""Set or return backgroundcolor of the TurtleScreen.
|
||||
|
||||
Arguments (if given): a color string or three numbers
|
||||
in the range 0..colormode or a 3-tuple of such numbers.
|
||||
Four input formats are allowed:
|
||||
- bgcolor()
|
||||
Return the current background color as color specification
|
||||
string or as a tuple (see example). May be used as input
|
||||
to another color/pencolor/fillcolor/bgcolor call.
|
||||
- bgcolor(colorstring)
|
||||
Set the background color to colorstring, which is a Tk color
|
||||
specification string, such as "red", "yellow", or "#33cc8c".
|
||||
- bgcolor((r, g, b))
|
||||
Set the background color to the RGB color represented by
|
||||
the tuple of r, g, and b. Each of r, g, and b must be in
|
||||
the range 0..colormode, where colormode is either 1.0 or 255
|
||||
(see colormode()).
|
||||
- bgcolor(r, g, b)
|
||||
Set the background color to the RGB color represented by
|
||||
r, g, and b. Each of r, g, and b must be in the range
|
||||
0..colormode.
|
||||
|
||||
Example (for a TurtleScreen instance named screen):
|
||||
>>> screen.bgcolor("orange")
|
||||
>>> screen.bgcolor()
|
||||
'orange'
|
||||
>>> screen.bgcolor(0.5,0,0.5)
|
||||
>>> colormode(255)
|
||||
>>> screen.bgcolor('#800080')
|
||||
>>> screen.bgcolor()
|
||||
'#800080'
|
||||
(128.0, 0.0, 128.0)
|
||||
"""
|
||||
if args:
|
||||
color = self._colorstr(args)
|
||||
|
|
@ -1624,7 +1640,7 @@ def forward(self, distance):
|
|||
|
||||
Example (for a Turtle instance named turtle):
|
||||
>>> turtle.position()
|
||||
(0.00, 0.00)
|
||||
(0.00,0.00)
|
||||
>>> turtle.forward(25)
|
||||
>>> turtle.position()
|
||||
(25.00,0.00)
|
||||
|
|
@ -1647,10 +1663,10 @@ def back(self, distance):
|
|||
|
||||
Example (for a Turtle instance named turtle):
|
||||
>>> turtle.position()
|
||||
(0.00, 0.00)
|
||||
(0.00,0.00)
|
||||
>>> turtle.backward(30)
|
||||
>>> turtle.position()
|
||||
(-30.00, 0.00)
|
||||
(-30.00,0.00)
|
||||
"""
|
||||
self._go(-distance)
|
||||
|
||||
|
|
@ -1757,7 +1773,7 @@ def goto(self, x, y=None):
|
|||
Example (for a Turtle instance named turtle):
|
||||
>>> tp = turtle.pos()
|
||||
>>> tp
|
||||
(0.00, 0.00)
|
||||
(0.00,0.00)
|
||||
>>> turtle.setpos(60,30)
|
||||
>>> turtle.pos()
|
||||
(60.00,30.00)
|
||||
|
|
@ -1837,7 +1853,7 @@ def distance(self, x, y=None):
|
|||
|
||||
Example (for a Turtle instance named turtle):
|
||||
>>> turtle.pos()
|
||||
(0.00, 0.00)
|
||||
(0.00,0.00)
|
||||
>>> turtle.distance(30,40)
|
||||
50.0
|
||||
>>> pen = Turtle()
|
||||
|
|
@ -2176,19 +2192,17 @@ def color(self, *args):
|
|||
|
||||
Arguments:
|
||||
Several input formats are allowed.
|
||||
They use 0, 1, 2, or 3 arguments as follows:
|
||||
|
||||
color()
|
||||
Return the current pencolor and the current fillcolor
|
||||
as a pair of color specification strings as are returned
|
||||
by pencolor and fillcolor.
|
||||
color(colorstring), color((r,g,b)), color(r,g,b)
|
||||
inputs as in pencolor, set both, fillcolor and pencolor,
|
||||
They use 0 to 3 arguments as follows:
|
||||
- color()
|
||||
Return the current pencolor and the current fillcolor as
|
||||
a pair of color specification strings or tuples as returned
|
||||
by pencolor() and fillcolor().
|
||||
- color(colorstring), color((r,g,b)), color(r,g,b)
|
||||
Inputs as in pencolor(), set both, fillcolor and pencolor,
|
||||
to the given value.
|
||||
color(colorstring1, colorstring2),
|
||||
color((r1,g1,b1), (r2,g2,b2))
|
||||
equivalent to pencolor(colorstring1) and fillcolor(colorstring2)
|
||||
and analogously, if the other input format is used.
|
||||
- color(colorstring1, colorstring2), color((r1,g1,b1), (r2,g2,b2))
|
||||
Equivalent to pencolor(colorstring1) and fillcolor(colorstring2)
|
||||
and analogously if the other input format is used.
|
||||
|
||||
If turtleshape is a polygon, outline and interior of that polygon
|
||||
is drawn with the newly set colors.
|
||||
|
|
@ -2199,9 +2213,9 @@ def color(self, *args):
|
|||
>>> turtle.color()
|
||||
('red', 'green')
|
||||
>>> colormode(255)
|
||||
>>> color((40, 80, 120), (160, 200, 240))
|
||||
>>> color(('#285078', '#a0c8f0'))
|
||||
>>> color()
|
||||
('#285078', '#a0c8f0')
|
||||
((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))
|
||||
"""
|
||||
if args:
|
||||
l = len(args)
|
||||
|
|
@ -2223,28 +2237,32 @@ def pencolor(self, *args):
|
|||
Arguments:
|
||||
Four input formats are allowed:
|
||||
- pencolor()
|
||||
Return the current pencolor as color specification string,
|
||||
possibly in hex-number format (see example).
|
||||
May be used as input to another color/pencolor/fillcolor call.
|
||||
Return the current pencolor as color specification string or
|
||||
as a tuple (see example). May be used as input to another
|
||||
color/pencolor/fillcolor/bgcolor call.
|
||||
- pencolor(colorstring)
|
||||
s is a Tk color specification string, such as "red" or "yellow"
|
||||
Set pencolor to colorstring, which is a Tk color
|
||||
specification string, such as "red", "yellow", or "#33cc8c".
|
||||
- pencolor((r, g, b))
|
||||
*a tuple* of r, g, and b, which represent, an RGB color,
|
||||
and each of r, g, and b are in the range 0..colormode,
|
||||
where colormode is either 1.0 or 255
|
||||
Set pencolor to the RGB color represented by the tuple of
|
||||
r, g, and b. Each of r, g, and b must be in the range
|
||||
0..colormode, where colormode is either 1.0 or 255 (see
|
||||
colormode()).
|
||||
- pencolor(r, g, b)
|
||||
r, g, and b represent an RGB color, and each of r, g, and b
|
||||
are in the range 0..colormode
|
||||
Set pencolor to the RGB color represented by r, g, and b.
|
||||
Each of r, g, and b must be in the range 0..colormode.
|
||||
|
||||
If turtleshape is a polygon, the outline of that polygon is drawn
|
||||
with the newly set pencolor.
|
||||
|
||||
Example (for a Turtle instance named turtle):
|
||||
>>> turtle.pencolor('brown')
|
||||
>>> tup = (0.2, 0.8, 0.55)
|
||||
>>> turtle.pencolor(tup)
|
||||
>>> turtle.pencolor()
|
||||
'#33cc8c'
|
||||
'brown'
|
||||
>>> colormode(255)
|
||||
>>> turtle.pencolor('#32c18f')
|
||||
>>> turtle.pencolor()
|
||||
(50.0, 193.0, 143.0)
|
||||
"""
|
||||
if args:
|
||||
color = self._colorstr(args)
|
||||
|
|
@ -2261,26 +2279,31 @@ def fillcolor(self, *args):
|
|||
Four input formats are allowed:
|
||||
- fillcolor()
|
||||
Return the current fillcolor as color specification string,
|
||||
possibly in hex-number format (see example).
|
||||
May be used as input to another color/pencolor/fillcolor call.
|
||||
possibly in tuple format (see example). May be used as
|
||||
input to another color/pencolor/fillcolor/bgcolor call.
|
||||
- fillcolor(colorstring)
|
||||
s is a Tk color specification string, such as "red" or "yellow"
|
||||
Set fillcolor to colorstring, which is a Tk color
|
||||
specification string, such as "red", "yellow", or "#33cc8c".
|
||||
- fillcolor((r, g, b))
|
||||
*a tuple* of r, g, and b, which represent, an RGB color,
|
||||
and each of r, g, and b are in the range 0..colormode,
|
||||
where colormode is either 1.0 or 255
|
||||
Set fillcolor to the RGB color represented by the tuple of
|
||||
r, g, and b. Each of r, g, and b must be in the range
|
||||
0..colormode, where colormode is either 1.0 or 255 (see
|
||||
colormode()).
|
||||
- fillcolor(r, g, b)
|
||||
r, g, and b represent an RGB color, and each of r, g, and b
|
||||
are in the range 0..colormode
|
||||
Set fillcolor to the RGB color represented by r, g, and b.
|
||||
Each of r, g, and b must be in the range 0..colormode.
|
||||
|
||||
If turtleshape is a polygon, the interior of that polygon is drawn
|
||||
with the newly set fillcolor.
|
||||
|
||||
Example (for a Turtle instance named turtle):
|
||||
>>> turtle.fillcolor('violet')
|
||||
>>> col = turtle.pencolor()
|
||||
>>> turtle.fillcolor(col)
|
||||
>>> turtle.fillcolor(0, .5, 0)
|
||||
>>> turtle.fillcolor()
|
||||
'violet'
|
||||
>>> colormode(255)
|
||||
>>> turtle.fillcolor('#ffffff')
|
||||
>>> turtle.fillcolor()
|
||||
(255.0, 255.0, 255.0)
|
||||
"""
|
||||
if args:
|
||||
color = self._colorstr(args)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue