Python Turtle
Các lệnh cơ bản

Các lệnh di chuyển và vẽ cơ bản

1. Di chuyển (Movement)

Di chuyển tiến và lùi

import turtle
 
t = turtle.Turtle()
 
# Di chuyển tiến
t.forward(100)   # Hoặc t.fd(100)
 
# Di chuyển lùi
t.backward(100)  # Hoặc t.bk(100) hoặc t.back(100)
 
turtle.done()

Giải thích:

  • forward(distance): Di chuyển tiến về phía trước
  • backward(distance): Di chuyển lùi về phía sau
  • distance: Khoảng cách tính bằng pixels

Di chuyển đến vị trí cụ thể

import turtle
 
t = turtle.Turtle()
 
# Di chuyển đến tọa độ (100, 100)
t.goto(100, 100)   # Hoặc t.setpos(100, 100) hoặc t.setposition(100, 100)
 
# Di chuyển về gốc tọa độ (0, 0)
t.home()
 
turtle.done()

2. Xoay (Rotation)

Xoay theo góc

import turtle
 
t = turtle.Turtle()
 
# Xoay phải (clockwise)
t.right(90)   # Hoặc t.rt(90)
 
# Xoay trái (counter-clockwise)
t.left(90)    # Hoặc t.lt(90)
 
turtle.done()

Đặt hướng cụ thể

import turtle
 
t = turtle.Turtle()
 
# Đặt hướng theo góc
t.setheading(0)    # Hướng về phải
t.setheading(90)   # Hướng lên trên
t.setheading(180)  # Hướng về trái
t.setheading(270)  # Hướng xuống dưới
 
turtle.done()

3. Điều khiển bút vẽ

Nhấc bút và hạ bút

import turtle
 
t = turtle.Turtle()
 
t.forward(100)
 
# Nhấc bút lên (không vẽ khi di chuyển)
t.penup()    # Hoặc t.pu() hoặc t.up()
t.forward(50)  # Di chuyển mà không vẽ
 
# Hạ bút xuống (vẽ khi di chuyển)
t.pendown()  # Hoặc t.pd() hoặc t.down()
t.forward(100)  # Vẽ lại
 
turtle.done()

Độ dày của bút

import turtle
 
t = turtle.Turtle()
 
# Đặt độ dày bút
t.pensize(1)    # Mỏng
t.forward(100)
 
t.pensize(5)    # Trung bình
t.forward(100)
 
t.pensize(10)   # Dày
t.forward(100)
 
turtle.done()

Tốc độ vẽ

import turtle
 
t = turtle.Turtle()
 
# Đặt tốc độ (1-10, 0 = nhanh nhất)
t.speed(1)   # Chậm nhất
t.speed(5)   # Trung bình
t.speed(10)  # Nhanh
t.speed(0)   # Nhanh nhất (không có animation)
 
turtle.done()

4. Vẽ hình tròn và cung

Vẽ hình tròn

import turtle
 
t = turtle.Turtle()
 
# Vẽ hình tròn với bán kính 50
t.circle(50)
 
# Vẽ hình tròn lớn hơn
t.penup()
t.goto(-100, 0)
t.pendown()
t.circle(100)
 
turtle.done()

Vẽ cung tròn

import turtle
 
t = turtle.Turtle()
 
# Vẽ cung 180 độ (nửa hình tròn)
t.circle(50, 180)
 
# Vẽ cung 90 độ (1/4 hình tròn)
t.circle(50, 90)
 
turtle.done()

Cú pháp: circle(radius, extent)

  • radius: Bán kính hình tròn
  • extent: Góc quét (mặc định 360° - hình tròn đầy đủ)

5. Vẽ chấm (Dot)

import turtle
 
t = turtle.Turtle()
 
# Vẽ một chấm
t.dot()
 
# Vẽ chấm với kích thước
t.dot(20)
 
# Vẽ chấm với kích thước và màu
t.dot(30, "red")
 
turtle.done()

6. Xóa và reset

import turtle
 
t = turtle.Turtle()
 
# Vẽ một số hình
t.circle(50)
t.forward(100)
 
# Xóa màn hình nhưng giữ vị trí turtle
t.clear()
 
# Reset turtle về vị trí ban đầu
t.reset()
 
turtle.done()

Ví dụ tổng hợp: Vẽ ngôi nhà

import turtle
 
t = turtle.Turtle()
t.speed(2)
t.pensize(3)
 
# Vẽ hình vuông (thân nhà)
for i in range(4):
    t.forward(100)
    t.left(90)
 
# Di chuyển để vẽ mái nhà
t.penup()
t.goto(0, 100)
t.pendown()
 
# Vẽ mái nhà (tam giác)
t.goto(50, 150)
t.goto(100, 100)
 
# Vẽ cửa
t.penup()
t.goto(35, 0)
t.pendown()
t.setheading(0)
 
for i in range(2):
    t.forward(30)
    t.left(90)
    t.forward(50)
    t.left(90)
 
turtle.done()

Bảng tổng hợp lệnh

LệnhRút gọnChức năng
forward(d)fd(d)Di chuyển tiến
backward(d)bk(d), back(d)Di chuyển lùi
right(angle)rt(angle)Xoay phải
left(angle)lt(angle)Xoay trái
penup()pu(), up()Nhấc bút
pendown()pd(), down()Hạ bút
goto(x, y)setpos(x, y)Di chuyển đến vị trí
home()-Về gốc tọa độ
circle(r)-Vẽ hình tròn
dot(size)-Vẽ chấm
speed(s)-Đặt tốc độ

Bài tập thực hành

  1. Bài 1: Vẽ hình vuông mà không dùng vòng lặp
  2. Bài 2: Vẽ đường zigzag (ngoằn ngoèo)
  3. Bài 3: Vẽ số 8
  4. Bài 4: Vẽ một bông hoa đơn giản với 5 cánh (dùng circle)
  5. Bài 5: Vẽ mê cung đơn giản

Gợi ý Bài 2 (Zigzag):

import turtle
 
t = turtle.Turtle()
t.speed(2)
 
for i in range(10):
    t.forward(50)
    t.right(45)
    t.forward(50)
    t.left(90)
    t.forward(50)
    t.right(45)
 
turtle.done()

Tổng kết

Trong bài này, bạn đã học:

  • ✅ Các lệnh di chuyển: forward, backward, goto
  • ✅ Các lệnh xoay: left, right, setheading
  • ✅ Điều khiển bút: penup, pendown, pensize, speed
  • ✅ Vẽ hình tròn và cung: circle
  • ✅ Các lệnh khác: dot, clear, reset

Tiếp theo, chúng ta sẽ học cách vẽ các hình cơ bản phức tạp hơn!


Lập trình Python - Bumbii Academy