Lần đầu tiên tôi làm quen với lập trình là ở trường cấp hai trong tuần đầu tiên đến lớp. Giáo viên của tôi giải thích rằng chúng tôi sẽ học một ngôn ngữ lập trình có tên là “Logo”, ngôn ngữ này cho phép bạn điều khiển một “con rùa” tưởng tượng với một chiếc bút gắn vào đuôi của nó để vẽ tranh và các gói
Sau đó, chúng tôi được đưa cho một tập ví dụ dày cộp, được tự do thử nghiệm và làm bất cứ điều gì chúng tôi thích miễn là chúng tôi hoàn thành một số bài tập nhất định mỗi ngày.
Tôi không chắc mình đã thực sự học được bao nhiêu, vì tôi hầu như chỉ sao chép và chỉnh sửa mã một cách mù quáng, nhưng tôi nhớ cho đến ngày nay tôi đã có rất nhiều niềm vui khi chơi với Logo
Vì vậy, một cách tự nhiên, tôi rất vui khi phát hiện ra rằng Python, một trong những ngôn ngữ lập trình yêu thích của tôi, được tích hợp sẵn một mô-đun có tên là “con rùa” rất giống với Logo. Tài liệu này là một nỗ lực để phản ánh một số tinh thần của gói ví dụ ban đầu lần đầu tiên giới thiệu tôi với lập trình.
Ghi chú. Tôi đã bắt đầu tài liệu này khoảng một năm trước, nhưng chưa bao giờ thực sự hoàn thành hoặc cập nhật nó ngoài một vài ví dụ. Trong vài tháng tới, tôi sẽ thỉnh thoảng bổ sung thêm nhiều ví dụ khi có thời gian
ví dụ 1. Vẽ đường thẳng
Một trong những điều đơn giản nhất bạn có thể làm khi sử dụng mô-đun con rùa là vẽ một đường. Luôn có bốn bước bạn cần thực hiện để sử dụng mô-đun con rùa
- Nhập mô-đun rùa. Nếu chúng ta bỏ qua bước này, sẽ không có con rùa nào để kiểm soát
- Tạo một con rùa để điều khiển
- Vẽ đồ vật. làm công cụ. Điều này cũng sẽ tự động tạo màn hình
- Chạy
2. [KHÔNG PHẢIimport turtle silly = turtle.Turtle[] silly.forward[50] silly.right[90] # Rotate clockwise by 90 degrees silly.forward[50] silly.right[90] silly.forward[50] silly.right[90] silly.forward[50] silly.right[90] turtle.done[]
3. ]import turtle silly = turtle.Turtle[] silly.forward[50] silly.right[90] # Rotate clockwise by 90 degrees silly.forward[50] silly.right[90] silly.forward[50] silly.right[90] silly.forward[50] silly.right[90] turtle.done[]
Thông báo rằng
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
2 sẽ tạm dừng chương trình. Bạn sẽ cần phải đóng cửa sổ để tiếp tụcMã số
# Step 1: Make all the "turtle" commands available to us.
import turtle
# Step 2: Create a new turtle. We'll call it "bob"
bob = turtle.Turtle[]
# Step 3: Move in the direction Bob's facing for 50 pixels
bob.forward[50]
# Step 4: We're done!
turtle.done[]
Sản lượng dự kiến
ví dụ 2. Vẽ một hình vuông
Dòng là nhàm chán. Chúng ta có thể xoay con rùa để vẽ những hình thú vị hơn
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
Sản lượng dự kiến
Ghi chú bổ sung
Hai lệnh rùa mà chúng ta đã học được cho đến nay là
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
5, lệnh này di chuyển con rùa về phía trước theo hướng của nó bằng import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
6 số pixel và import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
7, lệnh này làm cho nó quay theo chiều kim đồng hồ bằng số lượng import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
8 độHai lệnh chính bổ sung là
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
9, làm cho con rùa di chuyển trở lại và import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
00, làm cho con rùa quay ngược chiều kim đồng hồ _______08 độTập thể dục. thử sửa đổi mã viết để vẽ hình vuông chỉ bằng các lệnh
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
02 và import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
03ví dụ 3. Vẽ một hình vuông [sử dụng các vòng lặp]
Bạn có biết những gì khác là nhàm chán? . Sẽ thật tuyệt nếu chúng ta có thể yêu cầu Python lặp lại mã cho chúng ta phải không?
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
0Sản lượng dự kiến
Ghi chú bổ sung
Bạn nghĩ điều gì sẽ xảy ra nếu bạn chạy đoạn mã sau?
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
5Ví dụ 4. Vẽ một ngôi sao
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
6Sản lượng dự kiến
Ghi chú bổ sung
Tại sao tôi lại chọn số “144”?
Ví dụ 5. ngôi sao xoắn ốc
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
7Sản lượng dự kiến
Ghi chú bổ sung
Lưu ý rằng bây giờ tôi đang di chuyển con rùa về phía trước một khoảng khác nhau mỗi lần. Điều gì xảy ra nếu thay vì nhân
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
04 với 10, tôi lại nhân nó với chính nó? Ví dụ 6. Thay đổi màu đường
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
0Sản lượng dự kiến
Ghi chú bổ sung
Nếu bạn muốn màu sắc khác nhau thì sao?
Ở phía trên màn hình, trang web sẽ cung cấp dấu ‘#’ và dãy 6 chữ cái hoặc số thể hiện màu sắc. Mô-đun rùa sẽ chấp nhận màu ở định dạng này
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
1Đảm bảo luôn bao gồm ký tự
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
06 trước khi bao gồm 6 ký tự đóVí dụ 6. Biến
Một trong những điều mạnh mẽ về máy tính và lập trình là chúng có thể làm những công việc mà con người cảm thấy nhàm chán. Ví dụ, nếu chúng ta muốn vẽ một hình lục giác [hình có 6 cạnh] thì sao?
Thay vì tự tính toán số mỗi lần, thay vào đó chúng ta có thể xác định các biến và để Python sử dụng một công thức để tìm ra cho chúng ta
Ở đây, chúng tôi đã đặt số cạnh là 6 và chiều dài cạnh là 70. Điều gì xảy ra nếu chúng ta thay đổi các biến?
Mã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
3Sản lượng dự kiến
Ghi chú bổ sung
Một thứ khiến nhiều người mới bắt đầu bối rối là ký hiệu
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
07. Trong môn Toán, bất cứ khi nào chúng ta nhìn thấy import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
08, chúng ta đều biết rằng A và B phải giống hệt nhau – trong môn Toán, import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
07 có nghĩa là “bình đẳng”Tuy nhiên,
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
07 có nghĩa hơi khác một chút trong lập trình. Khi chúng ta nhìn thấy import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
08, điều đó có nghĩa là bất kể giá trị của import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
52 bây giờ sẽ được đặt bằng với import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
53 – trong lập trình, import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
07 có nghĩa là “phân công”Vì vậy, nếu chúng ta thấy đoạn mã sau
# Step 1: Make all the "turtle" commands available to us.
import turtle
# Step 2: Create a new turtle. We'll call it "bob"
bob = turtle.Turtle[]
# Step 3: Move in the direction Bob's facing for 50 pixels
bob.forward[50]
# Step 4: We're done!
turtle.done[]
2…đầu ra sẽ là
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
55 và import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
56. Chúng tôi luôn tính toán bất cứ thứ gì ở bên phải, sau đó thay đổi biến ở bên trái thành giá trị đóVí dụ 7. Vòng lồng nhau
Điều này sẽ tạo ra một ma trận gồm các chấm rộng 5 chấm và cao 7 chấm. Hãy thử trải nghiệm với các biến ở trên cùng để thay đổi số lượng chấm và khoảng cách giữa chúng
Vòng lặp for ở bên trong [
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
57] vẽ một dòng dấu chấm. Mã sau đó làm cho con rùa di chuyển trở lại, sau đó di chuyển xuống một hàngMã số
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
0Sản lượng dự kiến
Ví dụ 8. Nhảy xung quanh và thay đổi tốc độ
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
58 sẽ đặt vị trí của rùa theo tọa độ bạn cắm vào. [0, 0] nằm ở giữa màn hình – nơi chú rùa xuất phát đầu tiên. Lưu ý bạn cần đảm bảo chuồng rùa đã dựng lên, nếu không nó sẽ vẽ một đường trở lại đóBạn có thể thay đổi tốc độ của rùa bằng cách thực hiện
import turtle
silly = turtle.Turtle[]
silly.forward[50]
silly.right[90] # Rotate clockwise by 90 degrees
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
silly.forward[50]
silly.right[90]
turtle.done[]
59. Nếu bạn đặt tốc độ thành 10, con rùa sẽ đi rất nhanh. Nếu bạn đặt tốc độ thành 1, con rùa sẽ di chuyển rất chậm [điều này rất hữu ích khi cố gắng hiểu một số thứ phức tạp đang được vẽ như thế nào]. Tuy nhiên, nếu bạn đặt tốc độ thành 0, con rùa sẽ di chuyển với tốc độ dọc và sẽ vẽ nhanh nhất có thể