Bài 5: Vẽ hình với Rùa Python — turtle (phần 1) 🐢
🎯 Mục tiêu bài học: Sau bài này, em sẽ điều khiển được chú Rùa trong Python để vẽ đường thẳng, vẽ hình vuông, và dùng vòng lặp for để vẽ tam giác, đa giác một cách gọn gàng.
Rùa hiểu 2 lệnh chính: đi thẳng (forward) và quay (left / right).
🤔 Điều kỳ diệu: Trong Python có một chú Rùa nhỏ cầm sẵn cây bút. Em ra lệnh cho Rùa đi tới đâu, Rùa sẽ vẽ một nét tới đó. Ghép nhiều nét lại, ta có cả một bức tranh! Đây là cách học lập trình vui và nhìn thấy được ngay.
1. Gọi chú Rùa ra
Trước khi vẽ, ta phải mời Rùa ra sân bằng 2 dòng đầu. Sau đó Rùa sẵn sàng nghe lệnh.
import turtle t = turtle.Turtle()
👉 Từ giờ, t chính là chú Rùa của em. Muốn Rùa làm gì, ta viết t. rồi tới lệnh, ví dụ t.forward(100).
2. Hai lệnh quan trọng nhất: đi và quay
t.forward(n) — Rùa đi thẳng tới trước n bước (và vẽ một nét).
t.left(g) — Rùa quay sang trái g độ.
t.right(g) — Rùa quay sang phải g độ.
t.left(g) — Rùa quay sang trái g độ.
t.right(g) — Rùa quay sang phải g độ.
t.forward(100) # di thang 100 buoc t.left(90) # quay trai 90 do t.forward(100) # di thang tiep 100 buoc
💡 Mẹo: 90 độ là một góc vuông (giống góc của quyển vở). Quay 4 lần mỗi lần 90 độ thì Rùa quay đúng một vòng tròn trở về hướng cũ.
3. Vẽ hình vuông bằng vòng lặp
Hình vuông có 4 cạnh bằng nhau, mỗi góc quay 90 độ → dùng vòng lặp cho gọn.
Hình vuông có 4 cạnh bằng nhau. Thay vì viết 8 dòng (4 lần đi + 4 lần quay), ta dùng vòng lặp for đã học ở Bài 4 để viết thật gọn:
for i in range(4): t.forward(100) t.left(90)
👉 Mỗi vòng lặp vẽ một cạnh rồi quay góc. Lặp 4 lần → đủ 4 cạnh → thành hình vuông!
4. Bí quyết vẽ mọi đa giác
Muốn vẽ hình có n cạnh đều, ta lặp n lần, mỗi lần quay góc 360 / n độ.
• Tam giác đều: 3 cạnh, quay 360 / 3 = 120 độ.
• Hình vuông: 4 cạnh, quay 360 / 4 = 90 độ.
• Ngũ giác: 5 cạnh, quay 360 / 5 = 72 độ.
• Tam giác đều: 3 cạnh, quay 360 / 3 = 120 độ.
• Hình vuông: 4 cạnh, quay 360 / 4 = 90 độ.
• Ngũ giác: 5 cạnh, quay 360 / 5 = 72 độ.
# Ve tam giac deu for i in range(3): t.forward(120) t.left(120)
🎯 Quy tắc vàng: số cạnh = số lần lặp, góc quay = 360 chia cho số cạnh.
5. Bảng ghi nhớ
| Lệnh | Rùa làm gì |
|---|---|
| import turtle | gọi chú Rùa ra |
| t = turtle.Turtle() | đặt tên Rùa là t |
| t.forward(100) | đi thẳng 100 bước (vẽ nét) |
| t.left(90) | quay trái 90 độ |
| t.right(90) | quay phải 90 độ |
| góc đa giác | 360 / số cạnh |
Cùng luyện tập nào! ✍
Câu 1. Lệnh nào bảo Rùa đi thẳng tới trước?
forward nghĩa là "tới trước", nên t.forward(100) bảo Rùa đi thẳng 100 bước.
Câu 2. Để vẽ một hình vuông, ta lặp bao nhiêu lần lệnh (đi thẳng + quay)?
Hình vuông có 4 cạnh, mỗi vòng lặp vẽ một cạnh, nên lặp 4 lần.
Câu 3. Muốn Rùa quay một góc vuông (góc của quyển vở), ta quay bao nhiêu độ?
Góc vuông = 90 độ. Đó là góc ở mỗi đỉnh của hình vuông.
Câu 4. Để vẽ tam giác đều (3 cạnh), mỗi lần Rùa cần quay bao nhiêu độ?
Quy tắc vàng: góc quay = 360 / số cạnh = 360 / 3 = 120 độ.
Câu 5. Hai dòng nào giúp ta gọi chú Rùa ra trước khi vẽ?
import turtle mời thư viện Rùa, còn t = turtle.Turtle() tạo chú Rùa tên t. Đáp án C.
🐢 Sân vẽ của Rùa — Gõ và bấm Chạy để xem Rùa vẽ!
Thử đổi số range() và góc quay để vẽ hình khác nhé. Ví dụ đổi range(4) thành range(3) và left(90) thành left(120) để vẽ tam giác!
(Chú Rùa sẽ vẽ ở đây...)
📝 Thử thách mở rộng: Hãy dùng công thức "góc = 360 / số cạnh" để vẽ một ngũ giác (5 cạnh). Gợi ý: for i in range(5): với t.left(72). Sau đó thử vẽ hình lục giác (6 cạnh) xem góc quay là bao nhiêu nhé!