Python: Vẽ thiết kế đồng hồ bằng Turtle-Python
Giải phóng thời gian, khai phóng năng lực
Điều kiện tiên quyết: Lập trình Turtle bằng Python
Turtle là một mô-đun có sẵn trong Python. Nó cung cấp bản vẽ bằng cách sử dụng màn hình (bìa cứng) và con rùa (bút). Để vẽ một cái gì đó trên màn hình, chúng ta cần di chuyển con rùa (bút). Để di chuyển con rùa, có một số hàm như forward(), backward(), v.v.
Để vẽ thiết kế đồng hồ, ta thực hiện các bước sau:
- Import mô-đun turtle.
- Tạo đối tượng Screen và thiết lập cấu hình Screen.
- Tạo đối tượng Turtle và thiết lập vị trí và tốc độ của nó.
- Vẽ một đường đứt nét và in số ở dạng hình tròn.
- Vẽ tâm và tô màu cho tâm đó
- Viết chữ "V1Study Clock" ở vị trí cụ thể.
Dưới đây là code thực hiện:
# import module turtle
import turtle
# tạo đối tượng Screen
screen = turtle.Screen()
# thiết lập kích thước cho màn hình
screen.setup(500, 500)
# tạo đối tượng rùa
clk = turtle.Turtle()
# thiết lập màu cho rùa
clk.color('Green')
# thiết lập độ rộng của rùa
clk.width(4)
def draw_hour_hand():
clk.penup()
clk.home()
clk.right(90)
clk.pendown()
clk.forward(100)
# tạo các số cho đồng hồ
val = 0
# lặp để in các số cho đồng hồ
for i in range(12):
# tăng giá trị lên 1 mỗi lần lặp
val += 1
# nhấc rùa lên
clk.penup()
# tạo chuyển động tròn
clk.setheading(-30 * (i + 3) + 75)
# vẽ khi nhấc rùa
clk.forward(22)
# đặt rùa xuống
clk.pendown()
# vẽ nét đứt
clk.forward(15)
# lại nhấc rùa lên
clk.penup()
# và vẽ khi nhấc rùa
clk.forward(20)
# vẽ các số của đồng hồ
clk.write(str(val), align="center",
font=("Arial",
12, "normal"))
# đưa rùa ra vị trí giữa của đồng hồ
clk.setpos(2, -112)
clk.pendown()
clk.width(2)
# chọn màu để vẽ tâm cho đồng hồ
clk.fillcolor('Green')
# chuẩn bị vẽ tâm
clk.begin_fill()
# vẽ tâm dạng tròn với bán kính 5
clk.circle(5)
# kết thúc vẽ tâm
clk.end_fill()
clk.penup()
draw_hour_hand()
clk.setpos(-20, -64)
clk.pendown()
clk.penup()
# viết chữ vào đồng hồ
clk.setpos(-62, -170)
clk.pendown()
clk.write('V1Study Clock', font=("Arial", 14,
"normal"))
clk.hideturtle()
turtle.done()
Kết quả:
Giải phóng thời gian, khai phóng năng lực