Hướng dẫn how do you draw a turtle flag in python? - làm thế nào để bạn vẽ một lá cờ rùa trong python?

Hướng dẫn how do you draw a turtle flag in python? - làm thế nào để bạn vẽ một lá cờ rùa trong python?

Giới thiệu

Chào mừng mọi người đến Copyassignment.com. Trong hướng dẫn này, chúng tôi sẽ vẽ cờ của Hoa Kỳ bằng Rùa Python. Mô -đun rùa Python rất dễ hiểu và học hỏi. Những người mới bắt đầu Python có thể dễ dàng nắm bắt các chức năng rùa khi chúng tôi đang cung cấp các ý kiến ​​và một lời giải thích chi tiết về mã.

Mã hoàn chỉnh để vẽ cờ của Hoa Kỳ bằng rùa Python

#import the time and turtle module
import turtle
import time

# create a screen
scr = turtle.getscreen()
scr.title("Flag of America")
scr.bgcolor("white")

#Set the turtle object and speed of the turtle

t = turtle.Turtle()
t.speed(20)
t.penup()

# flag height and width
flag_ht = 250
flag_wth = 475

# starting points of the flag
x1 = -250
y1 = 120

# red and white stripes (total 13 stripes in flag)
stripe_ht = flag_ht/13
stripe_wdt = flag_wth
#star size
star_size = 12


def draw_rectangle(x, y, height, width, color):
    t.goto(x,y)
    t.pendown()
    t.color(color)
    t.begin_fill()
    t.forward(width)
    t.right(90)
    t.forward(height)
    t.right(90)
    t.forward(width)
    t.right(90)
    t.forward(height)
    t.right(90)
    t.end_fill()
    t.penup()

def star_shape(x,y,color,length) :
    t.goto(x,y)
    t.setheading(0)
    t.pendown()
    t.begin_fill()
    t.color(color)
    for turn in range(0,5) :
        t.forward(length)
        t.right(144)
        t.forward(length)
        t.right(144)
    t.end_fill()
    t.penup()


# function to create stripes of flag
def draw_stripes():
    x = x1
    y = y1
    # draw 6 red and 7 white strips
    for stripe in range(0,6):
        for color in ["red", "white"]:
            draw_rectangle(x, y, stripe_ht, stripe_wdt, color)
            # decrease value of y by stripe_height
            y = y - stripe_ht

    # create last red stripe
    draw_rectangle(x, y, stripe_ht, stripe_wdt, 'red')
    y = y - stripe_ht


# this function create navy color square
def draw_square():
    square_ht = (7/13) * flag_ht
    square_wdt = (0.76) * flag_ht
    draw_rectangle(x1, y1, square_ht, square_wdt, 'navy')

#defining a function for drawing a 6 row star
def stars1():
    dist_of_stars = 30
    dist_bet_lines = stripe_ht + 6
    y = 112
    # create 5 rows of stars
    for row in range(0,5) :
        x = -234
        # create 6 stars in each row
        for star in range (0,6) :
            star_shape(x, y, 'white', star_size)
            x = x + dist_of_stars
        y = y - dist_bet_lines


def stars_five():
    dist_of_stars = 30
    dist_bet_lines = stripe_ht + 6
    y = 100
    # create 4 rows of stars
    for row in range(0,4) :
        x = -217
        # create 5 stars in each row
        for star in range (0,5) :
            star_shape(x, y, 'white', star_size)
            x = x + dist_of_stars
        y = y - dist_bet_lines
        
#Call all the functions
# start after 5 seconds.
time.sleep(5)
# draw 13 stripes
draw_stripes()
# draw squares 
draw_square()
# draw 30 stars, 6 * 5
stars1()
# draw 20 stars, 5 * 4
stars_five()
# hides the turtle
t.hideturtle()
scr.mainloop()

Output:

Hướng dẫn how do you draw a turtle flag in python? - làm thế nào để bạn vẽ một lá cờ rùa trong python?
Đầu ra của cờ Mỹ bằng rùa Python

Bây giờ, hãy để hiểu về mã bằng cách chia nó thành các phần phụ.

1. Nhập các mô -đun

#import the time and turtle module
import turtle
import time

Trong chương trình của chúng tôi, chức năng nhập khẩu rùa và mô -đun thời gian cung cấp cho chúng tôi một số chức năng sẵn có được yêu cầu trong khi tạo chương trình.

2. Khởi tạo rùa

# create a screen
scr = turtle.getscreen()
scr.title("Flag of America")
scr.bgcolor("white")

#Set the turtle object and speed of the turtle

t = turtle.Turtle()
t.speed(20)
t.penup()

Ở đây chúng tôi đã tạo một đối tượng SCR bằng cách sử dụng hàm getScreen () của rùa. Nó tạo ra cửa sổ đầu ra và, đặt tiêu đề của cửa sổ và màu nền.

Đối tượng rùa ’t, được tạo ra và chúng tôi đã đặt tốc độ của con rùa thành 20 bằng cách sử dụng hàm tốc độ. Hàm Penup () không cho phép con rùa vẽ bất cứ thứ gì cho đến khi hướng dẫn tiếp theo.

3. Khởi tạo các biến

# flag height and width
flag_ht = 250
flag_wth = 475

# starting points of the flag
x1 = -250
y1 = 120

# red and white stripes (total 13 stripes in flag)
stripe_ht = flag_ht/13
stripe_wdt = flag_wth
#star size
star_size = 12

Ở đây chúng tôi đã khởi tạo chiều cao và chiều rộng của cờ đến 250 và 475 tương ứng. X1 và Y1 đang bắt đầu tọa độ cho cờ. Chiều cao cờ được chia cho 13 vì chúng tôi muốn 13 dải cho cờ, tức là khoảng 19.3 là chiều cao của mỗi dải được gán cho dải_HT. Kích thước của mỗi cánh tay của ngôi sao được khởi tạo thành 12.

4. Chức năng tạo hình chữ nhật cho cờ của Hoa Kỳ bằng rùa Python

def draw_rectangle(x, y, height, width, color):
    t.goto(x,y)
    t.pendown()
    t.color(color)
    t.begin_fill()
    t.forward(width)
    t.right(90)
    t.forward(height)
    t.right(90)
    t.forward(width)
    t.right(90)
    t.forward(height)
    t.right(90)
    t.end_fill()
    t.penup()

Trong hàm draw_rectangle (), chúng tôi đã cung cấp các tham số x, y, chiều cao, chiều rộng, màu. Các tham số này sẽ lấy các giá trị để vẽ hình chữ nhật phù hợp. Hàm goto (x, y) đặt vị trí x, y của hình chữ nhật. Hàm Pendown () bắt đầu bản vẽ. Hàm màu có màu được lấp đầy trong hình dạng bằng cách sử dụng hàm Beginning_fill () và end_fill ().

5. Chức năng tạo hình dạng ngôi sao

def star_shape(x,y,color,length) :
    t.goto(x,y)
    t.setheading(0)
    t.pendown()
    t.begin_fill()
    t.color(color)
    for turn in range(0,5) :
        t.forward(length)
        t.right(144)
        t.forward(length)
        t.right(144)
    t.end_fill()
    t.penup()

Ở đây chúng tôi đã tạo một hàm star_shape () lấy các tham số x, y, màu và độ dài. Sethead (0) cho phép con rùa luôn hướng về hướng đông trong khi vẽ ngôi sao. Ở đây chúng tôi đã tạo ra vòng lặp cho 5 lượt để vẽ một ngôi sao có độ dài được chỉ định. Quyền (144) là góc được cung cấp để tạo hình dạng sao.

6. Chức năng tạo ra các sọc cờ Hoa Kỳ bằng rùa Python

# function to create stripes of flag
def draw_stripes():
    x = x1
    y = y1
    # draw 6 red and 7 white strips
    for stripe in range(0,6):
        for color in ["red", "white"]:
            draw_rectangle(x, y, stripe_ht, stripe_wdt, color)
            # decrease value of y by stripe_heighFt
            y = y - stripe_ht

    # create last red stripe
    draw_rectangle(x, y, stripe_ht, stripe_wdt, 'red')
    y = y - stripe_ht

Ở đây, chức năng được sử dụng để tạo ra các dải màu đỏ và trắng của cờ Mỹ nơi X và Y được khởi tạo thành X1 và Y1, tức là vị trí bắt đầu. Chúng tôi đang vẽ 6 dải màu đỏ và 7 dải trắng cho rằng chúng tôi đang sử dụng chức năng Loop và một dải khác cho các màu cho màu sắc màu đỏ và màu trắng. Hàm hình chữ nhật vẽ sẽ lấy các tham số từ đây. Đối với mỗi lần lặp, giá trị của y bị giảm bởi chiều cao dải và được gán cho y.

7. Chức năng tạo ra một hình vuông màu hải quân của Hoa Kỳ bằng cách sử dụng rùa Python

# this function create navy color square
def draw_square():
    square_ht = (7/13) * flag_ht
    square_wdt = (0.76) * flag_ht
    draw_rectangle(x1, y1, square_ht, square_wdt, 'navy')

Hàm draw_square () vẽ hình vuông có mặt trên cờ Mỹ. Các giá trị cho chiều cao và chiều rộng vuông được tính bằng chiều cao cờ. Hình chữ nhật vẽ chức năng lấy các tham số bao gồm màu sắc của Navy Navy để tạo hình vuông trên cờ.

8. Chức năng tạo các hàng 6 sao

#defining a function for drawing a 6 row star
def stars1():
    dist_of_stars = 30
    dist_bet_lines = stripe_ht + 6
    y = 112
    # create 5 rows of stars
    for row in range(0,5) :
        x = -234
        # create 6 stars in each row
        for star in range (0,6) :
            star_shape(x, y, 'white', star_size)
            x = x + dist_of_stars
        y = y - dist_bet_lines

Chức năng Stars1 () vẽ một ngôi sao 6 hàng trong hình vuông màu xanh hải quân. Khoảng cách giữa mỗi ngôi sao là 30 và khoảng cách giữa các đường được khởi tạo để thêm vào chiều cao dải và 6. Hàm vòng lặp vẽ các hàng 6 sao trong đó vị trí X được khởi tạo thành -234. Đối với mỗi lần lặp, vị trí của x được tăng thêm 30. Vị trí điểm y bị giảm bởi giá trị được gán cho dist_bet_lines.

9. Chức năng tạo các hàng 5 sao

def stars_five():
    dist_of_stars = 30
    dist_bet_lines = stripe_ht + 6
    y = 100
    # create 4 rows of stars
    for row in range(0,4) :
        x = -217
        # create 5 stars in each row
        for star in range (0,5) :
            star_shape(x, y, 'white', star_size)
            x = x + dist_of_stars
        y = y - dist_bet_lines

Hàm stars_five () tương tự như hàm trên stars1 (), thay đổi duy nhất là ở vị trí của các điểm x và y.

Ở đây, chúng tôi đã hoàn thành thành công việc vẽ cờ vẽ của Hoa Kỳ bằng mô -đun Rùa Python. Hy vọng bạn tìm thấy bài viết này hữu ích. Để biết thêm các bài viết về rùa, hãy tiếp tục truy cập trang web của chúng tôi.


Cũng đọc: