indexmodules |next |previous | Python » Documentation » The Python Sta dịch - indexmodules |next |previous | Python » Documentation » The Python Sta Việt làm thế nào để nói

indexmodules |next |previous | Pyth

indexmodules |next |previous | Python » Documentation » The Python Standard Library » 24. Graphical User Interfaces with Tk »
24.5. turtle — Turtle graphics for Tk
24.5.1. Introduction
Turtle graphics is a popular way for introducing programming to kids. It was part of the original Logo programming language developed by Wally Feurzig and Seymour Papert in 1966.

Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an import turtle, give it the command turtle.forward(15), and it moves (on-screen!) 15 pixels in the direction it is facing, drawing a line as it moves. Give it the command turtle.right(25), and it rotates in-place 25 degrees clockwise.

By combining together these and similar commands, intricate shapes and pictures can easily be drawn.

The turtle module is an extended reimplementation of the same-named module from the Python standard distribution up to version Python 2.5.

It tries to keep the merits of the old turtle module and to be (nearly) 100% compatible with it. This means in the first place to enable the learning programmer to use all the commands, classes and methods interactively when using the module from within IDLE run with the -n switch.

The turtle module provides turtle graphics primitives, in both object-oriented and procedure-oriented ways. Because it uses Tkinter for the underlying graphics, it needs a version of Python installed with Tk support.

The object-oriented interface uses essentially two+two classes:

The TurtleScreen class defines graphics windows as a playground for the drawing turtles. Its constructor needs a Tkinter.Canvas or a ScrolledCanvas as argument. It should be used when turtle is used as part of some application.

The function Screen() returns a singleton object of a TurtleScreen subclass. This function should be used when turtle is used as a standalone tool for doing graphics. As a singleton object, inheriting from its class is not possible.

All methods of TurtleScreen/Screen also exist as functions, i.e. as part of the procedure-oriented interface.

RawTurtle (alias: RawPen) defines Turtle objects which draw on a TurtleScreen. Its constructor needs a Canvas, ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know where to draw.

Derived from RawTurtle is the subclass Turtle (alias: Pen), which draws on “the” Screen - instance which is automatically created, if not already present.

All methods of RawTurtle/Turtle also exist as functions, i.e. part of the procedure-oriented interface.

The procedural interface provides functions which are derived from the methods of the classes Screen and Turtle. They have the same names as the corresponding methods. A screen object is automatically created whenever a function derived from a Screen method is called. An (unnamed) turtle object is automatically created whenever any of the functions derived from a Turtle method is called.

To use multiple turtles an a screen one has to use the object-oriented interface.

Note In the following documentation the argument list for functions is given. Methods, of course, have the additional first argument self which is omitted here.
24.5.2. Overview over available Turtle and Screen methods
24.5.2.1. Turtle methods
Turtle motion
Move and draw
forward() | fd()
backward() | bk() | back()
right() | rt()
left() | lt()
goto() | setpos() | setposition()
setx()
sety()
setheading() | seth()
home()
circle()
dot()
stamp()
clearstamp()
clearstamps()
undo()
speed()
Tell Turtle’s state
position() | pos()
towards()
xcor()
ycor()
heading()
distance()
Setting and measurement
degrees()
radians()
Pen control
Drawing state
pendown() | pd() | down()
penup() | pu() | up()
pensize() | width()
pen()
isdown()
Color control
color()
pencolor()
fillcolor()
Filling
fill()
begin_fill()
end_fill()
More drawing control
reset()
clear()
write()
Turtle state
Visibility
showturtle() | st()
hideturtle() | ht()
isvisible()
Appearance
shape()
resizemode()
shapesize() | turtlesize()
settiltangle()
tiltangle()
tilt()
Using events
onclick()
onrelease()
ondrag()
mainloop() | done()
Special Turtle methods
begin_poly()
end_poly()
get_poly()
clone()
getturtle() | getpen()
getscreen()
setundobuffer()
undobufferentries()
tracer()
window_width()
window_height()
24.5.2.2. Methods of TurtleScreen/Screen
Window control
bgcolor()
bgpic()
clear() | clearscreen()
reset() | resetscreen()
screensize()
setworldcoordinates()
Animation control
delay()
tracer()
update()
Using screen events
listen()
onkey()
onclick() | onscreenclick()
ontimer()
Settings and special methods
mode()
colormode()
getcanvas()
getshapes()
register_shape() | addshape()
turtles()
window_height()
window_width()
Methods specific to Screen
bye()
exitonclick()
setup()
title()
24.5.3. Methods of RawTurtle/Turtle and corresponding functions
Most of the examples in this section refer to a Turtle instance called turtle.

24.5.3.1. Turtle motion
turtle.forward(distance)
turtle.fd(distance)
Parameters: distance – a number (integer or float)
Move the turtle forward by the specified distance, in the direction the turtle is headed.

>>>
>>> turtle.position()
(0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
(25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
(-50.00,0.00)
turtle.back(distance)
turtle.bk(distance)
turtle.backward(distance)
Parameters: distance – a number
Move the turtle backward by distance, opposite to the direction the turtle is headed. Do not change the turtle’s heading.

>>>
>>> turtle.position()
(0.00,0.00)
>>> turtle.backward(30)
>>> turtle.position()
(-30.00,0.00)
turtle.right(angle)
turtle.rt(angle)
Parameters: angle – a number (integer or float)
Turn turtle right by angle units. (Units are by default degrees, but can be set via the degrees() and radians() functions.) Angle orientation depends on the turtle mode, see mode().

>>>
>>> turtle.heading()
22.0
>>> turtle.right(45)
>>> turtle.heading()
337.0
turtle.left(angle)
turtle.lt(angle)
Parameters: angle – a number (integer or float)
Turn turtle left by angle units. (Units are by default degrees, but can be set via the degrees() and radians() functions.) Angle orientation depends on the turtle mode, see mode().

>>>
>>> turtle.heading()
22.0
>>> turtle.left(45)
>>> turtle.heading()
67.0
turtle.goto(x, y=None)
turtle.setpos(x, y=None)
turtle.setposition(x, y=None)
Parameters:
x – a number or a pair/vector of numbers
y – a number or None
If y is None, x must be a pair of coordinates or a Vec2D (e.g. as returned by pos()).

Move turtle to an absolute position. If the pen is down, draw line. Do not change the turtle’s orientation.

>>>
>>> tp = turtle.pos()
>>> tp
(0.00,0.00)
>>> turtle.setpos(60,30)
>>> turtle.pos()
(60.00,30.00)
>>> turtle.setpos((20,80))
>>> turtle.pos()
(20.00,80.00)
>>> turtle.setpos(tp)
>>> turtle.pos()
(0.00,0.00)
turtle.setx(x)
Parameters: x – a number (integer or float)
Set the turtle’s first coordinate to x, leave second coordinate unchanged.

>>>
>>> turtle.position()
(0.00,240.00)
>>> turtle.setx(10)
>>> turtle.position()
(10.00,240.00)
turtle.sety(y)
Parameters: y – a number (integer or float)
Set the turtle’s second coordinate to y, leave first coordinate unchanged.

>>>
>>> turtle.position()
(0.00,40.00)
>>> turtle.sety(-10)
>>> turtle.position()
(0.00,-10.00)
turtle.setheading(to_angle)
turtle.seth(to_angle)
Parameters: to_angle – a number (integer or float)
Set the orientation of the turtle to to_angle. Here are some common directions in degrees:

standard mode logo mode
0 - east 0 - north
90 - north 90 - east
180 - west 180 - south
270 - south 270 - west
>>>
>>> turtle.setheading(90)
>>> turtle.heading()
90.0
turtle.home()
Move turtle to the origin – coordinates (0,0) – and set its heading to its start-orientation (which depends on the mode, see mode()).

>>>
>>> turtle.heading()
90.0
>>> turtle.position()
(0.00,-10.00)
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
turtle.circle(radius, extent=None, steps=None)
Parameters:
radius – a number
extent – a number (or None)
steps – an integer (or None)
Draw a circle with given radius. The center is radius units left of the turtle; extent – an angle – determines which part of the circle is drawn. If extent is not given, draw the entire circle. If extent is not a full circle, one endpoint of the arc is the current pen position. Draw the arc in counterclockwise direction if radius is positive, otherwise in clockwise direction. Finally the direction of the turtle is changed by the amount of extent.

As the circle is approximated by an inscribed regular polygon, steps determines the number of steps to use. If not given, it will be calculated automatically. May be used to draw regular polygons.

>>>
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(50)
>>> turtle.position()
(-0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(120, 180) # draw a semicircle
>>> turtle.position()
(0.00,240.00)
>>> turtle.heading()
180.0
turtle.dot(size=None, *color)
Parameters:
size – an integer >= 1 (if given)
color – a colorstring or a numeric color tuple
Draw a circular dot with diameter size, using color. If size is not given, the maximum of pensize+4 and 2*pensize is used.

>>>
>>> turtle.home()
>>> turtle.dot()
>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
>>> turtle.position()
(100.00,-0.00)
>>> turtle.heading()
0.0
turtle.stamp()
Stamp a copy of the turtle shape onto the canvas at the current turtle position. Return a stamp_id for that stamp, which can be used to delete it by calling clearstamp(stamp_id).

>>>
>>> turtle.color("blue")
>>> turtle.stamp()
11
>>> turtle.fd(50)
turtle.clearstamp(stampid)
Parameters: stampid – an integer, must be return value of previous stamp() call
Delete stamp with given stampid.

>>>
>>> turtle.position()
(150.00,-0.00)
>>> turtle.color("blue")
>>> astamp = turtle.stamp()
>>> turtle.fd(50)
>>> turtle.position()
(200.00,-0.00)
>>> turtle.clearstamp
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
indexmodules | tiếp theo | Bài trước | indexmodules |next |previous | Tài liệu hướng dẫn Python »» thư viện chuẩn Python »24. Tài liệu hướng dẫn Python»» thư viện chuẩn Python» 24. Giao diện người dùng đồ họa with the Tk »Giao diện người dùng đồ họa với Tk» 24,5. rùa - rùa đồ họa cho Tk 24,5. rùa — rùa đồ họa cho Tk24.5.1. giới thiệu 24.5.1. giới thiệuRùa đồ họa be a cách phổ biến nhất giới thiệu chương trình cho trẻ em. Rùa đồ họa là một cách phổ biến nhất giới thiệu chương trình cho trẻ em. This is a part of the ngôn ngữ lập trình ban đầu biểu tượng phát triển bởi Wally Feurzig and Seymour Papert năm 1966. Nó là một phần của ngôn ngữ lập trình ban đầu biểu tượng phát triển bởi Wally Feurzig và Seymour Papert năm 1966.Hãy tưởng tượng one con rùa con robot bắt đầu từ (0, 0) on the mặt phẳng xy. Hãy tưởng tượng một con rùa robot bắt đầu từ (0, 0) trên mặt phẳng x-y. After one con rùa nhập khẩu, cung cấp cho it turtle.forward (15) chỉ huy, and it di chuyển (on screen!) 15 điểm ảnh theo hướng it đang argument mặt với, vẽ đường when it is one di chuyển. Sau khi một con rùa nhập khẩu, cung cấp cho nó turtle.forward(15) chỉ huy, và nó di chuyển (trên màn hình!) 15 điểm ảnh theo hướng nó đang đối mặt với, vẽ một đường khi nó di chuyển. Cho it turtle.right (25) chỉ huy, and it quay tại Chợ 25 độ chiều kim đồng hồ.Cho nó turtle.right(25) chỉ huy, và nó quay tại chỗ 25 độ chiều kim đồng hồ. Bằng cách combined with this and nhau tương tự like the command, hình dạng phức tạp and hình ảnh you can easily be rút ra. Bằng cách kết hợp với nhau này và tương tự như lệnh, hình dạng phức tạp và hình ảnh có thể dễ dàng được rút ra.Các mô-đun rùa be a reimplementation expansion of the mô-đun cùng tên từ Python phân phối tiêu chuẩn lên phiên bản to Python 2.5. Các mô-đun rùa là một reimplementation mở rộng của các mô-đun cùng tên từ Python phân phối tiêu chuẩn lên đến phiên bản Python 2.5.This attempt to keep the cho those thành tích of the mô-đun rùa cũ and right (near like) 100% tương thích với it. Nó cố gắng để giữ cho những thành tích của các mô-đun rùa cũ và phải (gần như) 100% tương thích với nó. This means tại địa điểm đầu tiên to activate the lập trình viên học tập to use all the command, the lớp học và phương pháp tương tác when the use mô-đun từ in IDLE running as việc chuyển đổi -. n Điều này có nghĩa là tại địa điểm đầu tiên để kích hoạt các lập trình viên học tập để sử dụng tất cả các lệnh, các lớp học và phương pháp tương tác khi sử dụng các mô-đun từ trong IDLE chạy với việc chuyển đổi - n.Các mô-đun cung cấp rùa rùa đồ họa nguyên thủy, trong cách cả hai hướng objects and thủ tục theo định hướng. Các mô-đun rùa cung cấp rùa đồ họa nguyên thủy, trong cách cả hai hướng đối tượng và thủ tục theo định hướng. Bởi since it sử dụng cho Tkinter cơ bản đồ họa, it to be a version of the Python cài set with Tk hỗ trợ. Bởi vì nó sử dụng Tkinter cho cơ bản đồ họa, nó cần một phiên bản của Python cài đặt với Tk hỗ trợ.Sử dụng giao diện theo định hướng đối tượng cơ bản hai + hai các lớp học:Các lớp học TurtleScreen xác định đồ họa windows là một sân chơi cho rùa vẽ. Nhà xây dựng của nó cần một Tkinter.Canvas hoặc một ScrolledCanvas như là đối số. Nó nên được sử dụng khi con rùa được sử dụng như là một phần của một số ứng dụng.Chức năng Screen() trả về một đối tượng singleton của phân lớp TurtleScreen. Chức năng này nên được sử dụng khi con rùa được sử dụng như một công cụ độc lập cho làm đồ họa. Như là một đối tượng singleton, kế thừa từ lớp học của mình là không thể.Tất cả các phương pháp của TurtleScreen/màn hình cũng tồn tại như chức năng, ví dụ như một phần của thủ tục theo định hướng giao diện.RawTurtle (bí danh: RawPen) xác định các đối tượng con rùa vẽ trên một TurtleScreen. Nhà xây dựng của nó cần một vải, ScrolledCanvas hoặc TurtleScreen như là đối số, để các đối tượng RawTurtle biết nơi để vẽ.Có nguồn gốc từ RawTurtle là phân lớp Turtle (bí danh: bút), mà rút ra trên màn hình "các" - trường hợp được tự động tạo ra, nếu không đã có.Tất cả các phương pháp của RawTurtle/rùa cũng tồn tại như chức năng, tức là một phần của thủ tục theo định hướng giao diện.Thủ tục giao diện cung cấp chức năng mà có nguồn gốc từ các phương pháp của các lớp học màn hình và rùa. Họ có cùng tên như các phương pháp tương ứng. Một đối tượng màn hình tự động được tạo ra bất cứ khi nào một chức năng bắt nguồn từ một phương pháp màn hình được gọi là. Một đối tượng (không tên) rùa được tự động tạo ra bất cứ khi nào bất kỳ của các chức năng có nguồn gốc từ một con rùa phương pháp được gọi là.Để sử dụng nhiều rùa một màn hình một có sử dụng giao diện theo định hướng đối tượng.Lưu ý trong tài liệu sau đây danh sách đối số cho các chức năng được đưa ra. Phương pháp, tất nhiên, có thêm đối số đầu tiên tự đó bỏ qua ở đây.24.5.2. Tổng quan trên các phương pháp có sẵn của rùa và màn hình24.5.2.1. phương pháp rùaRùa chuyển độngDi chuyển và rút raForward() | FD()Backward() | BK() | Back()Right() | RT()left() | LT()goto() | setpos() | setposition()setx()sety()setheading() | Seth()Home()Circle()dot()Stamp()clearstamp()clearstamps()Undo()Speed()Nói với nhà nước của con rùaposition() | POS()towards()xcor()ycor()Heading()distance()Thiết lập và đo lườngDegrees()radians()Bút điều khiểnVẽ nhà nướcpendown() | PD() | Down()penup() | Pu() | up()pensize() | width()Pen()isdown()Kiểm soát màu sắcColor()pencolor()fillcolor()Điềnfill()begin_fill()end_fill()Kiểm soát nhiều bản vẽReset()Clear()write()Rùa nhà nướcKhả năng hiển thịshowturtle() | St()hideturtle() | HT()isvisible()Xuất hiệnShape()resizemode()shapesize() | turtlesize()settiltangle()tiltangle()Tilt()Bằng cách sử dụng sự kiệnonClick()onrelease()onDrag()mainloop() | Done()Đặc biệt rùa phương phápbegin_poly()end_poly()get_poly()Clone()getturtle() | getpen()getscreen()setundobuffer()undobufferentries()Tracer()window_width()window_height()24.5.2.2. phương pháp TurtleScreen/màn hìnhCửa sổ điều khiểnBGColor()bgpic()Clear() | CLEARSCREEN()Reset() | resetscreen()screensize()setworldcoordinates()Kiểm soát hoạt hìnhDelay()Tracer()Update()Bằng cách sử dụng màn hình sự kiệnListen()onkey()onClick() | onscreenclick()ontimer()Cài đặt và phương pháp đặc biệtMode()colormode()getcanvas()getshapes()register_shape() | addshape()Turtles()window_height()window_width()Phương pháp cụ thể để màn hìnhbye()exitonclick()Setup()title()24.5.3. phương pháp của RawTurtle/rùa và chức năng tương ứngHầu hết các ví dụ trong phần này là một trường hợp con rùa gọi là rùa.24.5.3.1. rùa chuyển độngTurtle.Forward(distance)Turtle.FD(distance)Tham số: khoảng cách-một số (số nguyên hoặc phao)Di chuyển những con rùa chuyển tiếp theo khoảng cách được chỉ định, theo hướng con rùa đứng đầu. >>> >>> >>> >>> >>> >>> > >> >>> >>> >>> >>> >>>>>> turtle.position()(0.00,0.00)>>> turtle.forward(25)>>> turtle.position()(25.00,0.00)>>> turtle.forward(-75)>>> turtle.position()(-50.00,0.00)Turtle.Back(distance)Turtle.BK(distance)Turtle.Backward(distance)Tham số: khoảng cách-một sốDi chuyển những con rùa lạc hậu bằng khoảng cách, đối diện với sự hướng dẫn những con rùa đứng đầu. Không thay đổi tiêu đề của con rùa.>>>>>> turtle.position()(0.00,0.00)>>> turtle.backward(30)>>> turtle.position()(-30.00,0.00)Turtle.Right(angle)Turtle.RT(angle)Tham số: góc-một số (số nguyên hoặc phao)Biến rùa ngay cạnh góc đơn vị. (Đơn vị mặc định độ, nhưng có thể được đặt thông qua các chức năng degrees() và radians().) Góc hướng phụ thuộc vào chế độ rùa, xem mode().>>>>>> turtle.heading()22.0>>> turtle.right(45)>>> turtle.heading()337.0Turtle.left(angle)Turtle.lt(angle)Tham số: góc-một số (số nguyên hoặc phao)Rùa rẽ trái bởi góc đơn vị. (Đơn vị mặc định độ, nhưng có thể được đặt thông qua các chức năng degrees() và radians().) Góc hướng phụ thuộc vào chế độ rùa, xem mode().>>>>>> turtle.heading()22.0>>> turtle.left(45)>>> turtle.heading()67,0Turtle.Goto (x, y = không có gì)Turtle.setpos (x, y = không có gì)Turtle.setposition (x, y = không có gì)Tham số: x-một số hoặc một cặp/vector sốy-một số hoặc không cóNếu không phải là y, x phải là một đôi tọa độ hoặc một Vec2D (ví dụ như trả lại bởi pos()).Di chuyển con rùa đến một vị trí tuyệt đối. Nếu bút là xuống, vẽ đường. Không thay đổi định hướng của con rùa.>>>>>> tp = turtle.pos()>>> tp(0.00,0.00)>>> turtle.setpos(60,30)>>> turtle.pos()(60.00,30.00)>>> turtle.setpos((20,80))>>> turtle.pos()(20.00,80.00)>>> turtle.setpos(tp)>>> turtle.pos()(0.00,0.00)Turtle.setx(x)Tham số: x-một số (số nguyên hoặc phao)Thiết lập tọa độ đầu tiên của những con rùa để x, để lại thứ hai tọa độ không thay đổi.>>>>>> turtle.position()(0.00,240.00)>>> turtle.setx(10)>>> turtle.position()(10.00,240.00)Turtle.sety(y)Tham số: y-một số (số nguyên hoặc phao)Thiết lập tọa độ thứ hai của những con rùa để y, để lại đầu tiên phối hợp không thay đổi.>>>>>> turtle.position()(0.00,40.00)>>> turtle.sety(-10)>>> turtle.position()(0,00,-10.00)Turtle.setheading(to_angle)Turtle.Seth(to_angle)Tham số: to_angle-một số (số nguyên hoặc phao)Thiết lập định hướng của những con rùa để to_angle. Dưới đây là một số hướng dẫn phổ biến trong độ khác nhau:chế độ tiêu chuẩn biểu tượng chế độ0 - 0 - đông bắc90 - Bắc 90 - đông180 - Tây 180 - Bắc-Tây Bắc270 - Nam 270 - Tây>>>>>> turtle.setheading(90)>>> turtle.heading()90.0Turtle.Home()Di chuyển con rùa đến nguồn gốc-tọa độ (0,0)- và thiết lập tiêu đề của nó bắt đầu-hướng (mà phụ thuộc vào chế độ, xem mode()).>>>>>> turtle.heading()90.0>>> turtle.position()(0,00,-10.00)>>> turtle.home()>>> turtle.position()(0.00,0.00)>>> turtle.heading()0,0Turtle.Circle (bán kính, mức độ = không có gì, bước = không có gì)Tham số: bán kính-một sốphạm vi-một số (hoặc không)bước-một số nguyên (hoặc không)Vẽ một vòng tròn với được đưa ra bán kính. Trung tâm là bán kính đơn vị bên trái của con rùa; phạm vi-một góc-xác định đó là một phần của vòng tròn được rút ra. Nếu mức độ không được đưa ra, vẽ vòng tròn toàn bộ. Nếu mức độ không phải là một vòng tròn đầy đủ, một trong những điểm cuối của arc là vị trí hiện tại của bút. Vẽ các vòng cung theo hướng ngược chiều kim đồng nếu bán kính là tích cực, nếu không theo hướng chiều kim đồng hồ. Cuối cùng sự hướng dẫn của những con rùa được thay đổi bởi số lượng mức độ.Như vòng tròn xấp xỉ bởi một đa giác thường xuyên ghi, bước xác định số lượng các bước để sử dụng. Nếu không, nó sẽ được tính toán tự động. Có thể được sử dụng để vẽ đa giác thường.>>>>>> turtle.home()>>> turtle.position()(0.00,0.00)>>> turtle.heading()0,0>>> turtle.circle(50)>>> turtle.position()(-0.00,0.00)>>> turtle.heading()0,0>>> turtle.circle (120, 180) # vẽ một hình bán nguyệt>>> turtle.position()(0.00,240.00)>>> turtle.heading()180.0Turtle.dot (kích thước = không có gì, * màu)Tham số: Kích cỡ-một số nguyên > = 1 (nếu được)màu sắc-colorstring một hoặc một số màu sắc tupleVẽ một dấu chấm tròn với đường kính cỡ, bằng cách sử dụng màu sắc. Nếu kích thước được không đưa ra, tối đa pensize + 4 và 2 * pensize được sử dụng.>>>>>> turtle.home()>>> turtle.dot()>>> turtle.fd(50); Turtle.dot (20, "màu xanh"); Turtle.FD(50)>>> turtle.position()(100,00,-0.00)>>> turtle.heading()0,0Turtle.Stamp()Đóng dấu một bản sao của hình dạng con rùa lên vải tại những con rùa hiện tại vị trí. Trở lại stamp_id cho rằng tem, mà có thể được sử dụng để xóa nó bằng cách gọi clearstamp(stamp_id).>>>>>> turtle.color("blue")>>> turtle.stamp()11>>> turtle.fd(50)Turtle.clearstamp(stampid)Tham số: stampid-một số nguyên, phải là các giá trị trả lại trước stamp() cuộc gọiXóa dấu với cho stampid.>>>>>> turtle.position()(150,00,-0.00)>>> turtle.color("blue")>>> astamp = turtle.stamp()>>> turtle.fd(50)>>> turtle.position()(200,00,-0.00)>>> turtle.clearstamp
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
indexmodules |next |previous | Python » Documentation » The Python Standard Library » 24. Graphical User Interfaces with Tk »
24.5. turtle — Turtle graphics for Tk
24.5.1. Introduction
Turtle graphics is a popular way for introducing programming to kids. It was part of the original Logo programming language developed by Wally Feurzig and Seymour Papert in 1966.

Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an import turtle, give it the command turtle.forward(15), and it moves (on-screen!) 15 pixels in the direction it is facing, drawing a line as it moves. Give it the command turtle.right(25), and it rotates in-place 25 degrees clockwise.

By combining together these and similar commands, intricate shapes and pictures can easily be drawn.

The turtle module is an extended reimplementation of the same-named module from the Python standard distribution up to version Python 2.5.

It tries to keep the merits of the old turtle module and to be (nearly) 100% compatible with it. This means in the first place to enable the learning programmer to use all the commands, classes and methods interactively when using the module from within IDLE run with the -n switch.

The turtle module provides turtle graphics primitives, in both object-oriented and procedure-oriented ways. Because it uses Tkinter for the underlying graphics, it needs a version of Python installed with Tk support.

The object-oriented interface uses essentially two+two classes:

The TurtleScreen class defines graphics windows as a playground for the drawing turtles. Its constructor needs a Tkinter.Canvas or a ScrolledCanvas as argument. It should be used when turtle is used as part of some application.

The function Screen() returns a singleton object of a TurtleScreen subclass. This function should be used when turtle is used as a standalone tool for doing graphics. As a singleton object, inheriting from its class is not possible.

All methods of TurtleScreen/Screen also exist as functions, i.e. as part of the procedure-oriented interface.

RawTurtle (alias: RawPen) defines Turtle objects which draw on a TurtleScreen. Its constructor needs a Canvas, ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know where to draw.

Derived from RawTurtle is the subclass Turtle (alias: Pen), which draws on “the” Screen - instance which is automatically created, if not already present.

All methods of RawTurtle/Turtle also exist as functions, i.e. part of the procedure-oriented interface.

The procedural interface provides functions which are derived from the methods of the classes Screen and Turtle. They have the same names as the corresponding methods. A screen object is automatically created whenever a function derived from a Screen method is called. An (unnamed) turtle object is automatically created whenever any of the functions derived from a Turtle method is called.

To use multiple turtles an a screen one has to use the object-oriented interface.

Note In the following documentation the argument list for functions is given. Methods, of course, have the additional first argument self which is omitted here.
24.5.2. Overview over available Turtle and Screen methods
24.5.2.1. Turtle methods
Turtle motion
Move and draw
forward() | fd()
backward() | bk() | back()
right() | rt()
left() | lt()
goto() | setpos() | setposition()
setx()
sety()
setheading() | seth()
home()
circle()
dot()
stamp()
clearstamp()
clearstamps()
undo()
speed()
Tell Turtle’s state
position() | pos()
towards()
xcor()
ycor()
heading()
distance()
Setting and measurement
degrees()
radians()
Pen control
Drawing state
pendown() | pd() | down()
penup() | pu() | up()
pensize() | width()
pen()
isdown()
Color control
color()
pencolor()
fillcolor()
Filling
fill()
begin_fill()
end_fill()
More drawing control
reset()
clear()
write()
Turtle state
Visibility
showturtle() | st()
hideturtle() | ht()
isvisible()
Appearance
shape()
resizemode()
shapesize() | turtlesize()
settiltangle()
tiltangle()
tilt()
Using events
onclick()
onrelease()
ondrag()
mainloop() | done()
Special Turtle methods
begin_poly()
end_poly()
get_poly()
clone()
getturtle() | getpen()
getscreen()
setundobuffer()
undobufferentries()
tracer()
window_width()
window_height()
24.5.2.2. Methods of TurtleScreen/Screen
Window control
bgcolor()
bgpic()
clear() | clearscreen()
reset() | resetscreen()
screensize()
setworldcoordinates()
Animation control
delay()
tracer()
update()
Using screen events
listen()
onkey()
onclick() | onscreenclick()
ontimer()
Settings and special methods
mode()
colormode()
getcanvas()
getshapes()
register_shape() | addshape()
turtles()
window_height()
window_width()
Methods specific to Screen
bye()
exitonclick()
setup()
title()
24.5.3. Methods of RawTurtle/Turtle and corresponding functions
Most of the examples in this section refer to a Turtle instance called turtle.

24.5.3.1. Turtle motion
turtle.forward(distance)
turtle.fd(distance)
Parameters: distance – a number (integer or float)
Move the turtle forward by the specified distance, in the direction the turtle is headed.

>>>
>>> turtle.position()
(0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
(25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
(-50.00,0.00)
turtle.back(distance)
turtle.bk(distance)
turtle.backward(distance)
Parameters: distance – a number
Move the turtle backward by distance, opposite to the direction the turtle is headed. Do not change the turtle’s heading.

>>>
>>> turtle.position()
(0.00,0.00)
>>> turtle.backward(30)
>>> turtle.position()
(-30.00,0.00)
turtle.right(angle)
turtle.rt(angle)
Parameters: angle – a number (integer or float)
Turn turtle right by angle units. (Units are by default degrees, but can be set via the degrees() and radians() functions.) Angle orientation depends on the turtle mode, see mode().

>>>
>>> turtle.heading()
22.0
>>> turtle.right(45)
>>> turtle.heading()
337.0
turtle.left(angle)
turtle.lt(angle)
Parameters: angle – a number (integer or float)
Turn turtle left by angle units. (Units are by default degrees, but can be set via the degrees() and radians() functions.) Angle orientation depends on the turtle mode, see mode().

>>>
>>> turtle.heading()
22.0
>>> turtle.left(45)
>>> turtle.heading()
67.0
turtle.goto(x, y=None)
turtle.setpos(x, y=None)
turtle.setposition(x, y=None)
Parameters:
x – a number or a pair/vector of numbers
y – a number or None
If y is None, x must be a pair of coordinates or a Vec2D (e.g. as returned by pos()).

Move turtle to an absolute position. If the pen is down, draw line. Do not change the turtle’s orientation.

>>>
>>> tp = turtle.pos()
>>> tp
(0.00,0.00)
>>> turtle.setpos(60,30)
>>> turtle.pos()
(60.00,30.00)
>>> turtle.setpos((20,80))
>>> turtle.pos()
(20.00,80.00)
>>> turtle.setpos(tp)
>>> turtle.pos()
(0.00,0.00)
turtle.setx(x)
Parameters: x – a number (integer or float)
Set the turtle’s first coordinate to x, leave second coordinate unchanged.

>>>
>>> turtle.position()
(0.00,240.00)
>>> turtle.setx(10)
>>> turtle.position()
(10.00,240.00)
turtle.sety(y)
Parameters: y – a number (integer or float)
Set the turtle’s second coordinate to y, leave first coordinate unchanged.

>>>
>>> turtle.position()
(0.00,40.00)
>>> turtle.sety(-10)
>>> turtle.position()
(0.00,-10.00)
turtle.setheading(to_angle)
turtle.seth(to_angle)
Parameters: to_angle – a number (integer or float)
Set the orientation of the turtle to to_angle. Here are some common directions in degrees:

standard mode logo mode
0 - east 0 - north
90 - north 90 - east
180 - west 180 - south
270 - south 270 - west
>>>
>>> turtle.setheading(90)
>>> turtle.heading()
90.0
turtle.home()
Move turtle to the origin – coordinates (0,0) – and set its heading to its start-orientation (which depends on the mode, see mode()).

>>>
>>> turtle.heading()
90.0
>>> turtle.position()
(0.00,-10.00)
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
turtle.circle(radius, extent=None, steps=None)
Parameters:
radius – a number
extent – a number (or None)
steps – an integer (or None)
Draw a circle with given radius. The center is radius units left of the turtle; extent – an angle – determines which part of the circle is drawn. If extent is not given, draw the entire circle. If extent is not a full circle, one endpoint of the arc is the current pen position. Draw the arc in counterclockwise direction if radius is positive, otherwise in clockwise direction. Finally the direction of the turtle is changed by the amount of extent.

As the circle is approximated by an inscribed regular polygon, steps determines the number of steps to use. If not given, it will be calculated automatically. May be used to draw regular polygons.

>>>
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(50)
>>> turtle.position()
(-0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(120, 180) # draw a semicircle
>>> turtle.position()
(0.00,240.00)
>>> turtle.heading()
180.0
turtle.dot(size=None, *color)
Parameters:
size – an integer >= 1 (if given)
color – a colorstring or a numeric color tuple
Draw a circular dot with diameter size, using color. If size is not given, the maximum of pensize+4 and 2*pensize is used.

>>>
>>> turtle.home()
>>> turtle.dot()
>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
>>> turtle.position()
(100.00,-0.00)
>>> turtle.heading()
0.0
turtle.stamp()
Stamp a copy of the turtle shape onto the canvas at the current turtle position. Return a stamp_id for that stamp, which can be used to delete it by calling clearstamp(stamp_id).

>>>
>>> turtle.color("blue")
>>> turtle.stamp()
11
>>> turtle.fd(50)
turtle.clearstamp(stampid)
Parameters: stampid – an integer, must be return value of previous stamp() call
Delete stamp with given stampid.

>>>
>>> turtle.position()
(150.00,-0.00)
>>> turtle.color("blue")
>>> astamp = turtle.stamp()
>>> turtle.fd(50)
>>> turtle.position()
(200.00,-0.00)
>>> turtle.clearstamp
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: