python使用turtle庫進行繪製紅旗

"""
要求:
    紅色的矩形(長:438,寬:292),起始座標(-200,200),畫布大小600*600

    每個五角星的邊長、座標和旋轉角度分別爲:
    主五角星邊長50,座標:(-170, 145)
    四個小五角星邊長爲20,起始座標分別爲:(-100, 180),(-85, 150),(-85, 120),                
   (-100, 100)
    四個小星星旋轉初始角度分別爲:305°、30°、3°、300°
    順時針旋轉,旋轉角度144°

"""


"""
author:ml_YSY
time:2019/11/19
"""
import turtle as tu
import time

def HQDemo():

# 創建600*600的畫布,設置距離本機窗邊距離
    tu.setup(600, 600, 50, 50)

# 設置畫筆顏色與顯示情況、移動速度
    tu.begin_fill()
    tu.up()
    tu.fillcolor("red")                 # 填充顏色
    tu.color("red")
    tu.hideturtle()                     # 隱藏畫筆
    tu.speed(1)                         # 移動速度爲1
    tu.goto(-200,200)                   # 將畫筆移動到座標爲-200, 200的位置
    tu.down()
# 繪製矩形邊框
    tu.fd(438)
    tu.right(90)
    tu.fd(292)
    tu.right(90)
    tu.fd(438)
    tu.right(90)
    tu.fd(292)
    tu.end_fill()
    time.sleep(1)                       # 繪製完成後睡眠一秒

# 繪製大星
    tu.begin_fill()                     # 準備開始填充圖形
    tu.up()                             # 畫筆開始繪製
    tu.fillcolor("yellow")             # 填充顏色
    tu.color("yellow")
    tu.seth(0)                          # 旋轉初始角度0°
    tu.goto(-170, 145)                  # 將畫筆移動到座標爲-170, 145的位置
    tu.down()                           # 畫筆繪製結束
    for i in range(5):                  # 循環5次
        tu.forward(50)                  # 向當前畫筆方向移動50像素長
        tu.right(144)                   # 順時針移動 144°
    tu.end_fill()                       # 填充完成
    time.sleep(1)

# 繪製四小星
    # [第一顆、小星]
    tu.begin_fill()                     # 準備開始填充圖形
    tu.up()                             # 畫筆開始繪製
    tu.fillcolor("yellow")             # 填充顏色
    tu.color("yellow")
    tu.seth(305)                        # 旋轉初始角度305°
    tu.goto(-100, 180)                  # 將畫筆移動到座標爲-100, 180的位置
    tu.down()                           # 畫筆繪製結束
    for i in range(5):                  # 循環5次
        tu.forward(20)                  # 向當前畫筆方向移動20像素長
        tu.right(144)                   # 順時針移動 144°
    tu.end_fill()                       # 填充完成
    time.sleep(1)

    # [第二顆、小星]
    tu.begin_fill()                     # 準備開始填充圖形
    tu.up()                             # 畫筆開始繪製
    tu.fillcolor("yellow")             # 填充顏色
    tu.color("yellow")
    tu.seth(30)                         # 旋轉初始角度30°
    tu.goto(-85, 150)                   # 將畫筆移動到座標爲-85, 150的位置
    tu.down()                           # 畫筆繪製結束
    for i in range(5):                  # 循環5次
        tu.forward(20)                  # 向當前畫筆方向移動20像素長
        tu.right(144)                   # 順時針移動 144°
    tu.end_fill()                       # 填充完成
    time.sleep(1)

    # [第三顆、小星]
    tu.begin_fill()                     # 準備開始填充圖形
    tu.up()                             # 畫筆開始繪製
    tu.fillcolor("yellow")             # 填充顏色
    tu.color("yellow")
    tu.seth(3)                          # 旋轉初始角度3°
    tu.goto(-85, 120)                   # 將畫筆移動到座標爲-85, 120的位置
    tu.down()                           # 畫筆繪製結束
    for i in range(5):                  # 循環5次
        tu.forward(20)                  # 向當前畫筆方向移動20像素長
        tu.right(144)                   # 順時針移動 144°
    tu.end_fill()                       # 填充完成
    time.sleep(1)

    # [第四顆、小星]
    tu.begin_fill()                     # 準備開始填充圖形
    tu.up()                             # 畫筆開始繪製
    tu.fillcolor("yellow")             # 填充顏色
    tu.color("yellow")
    tu.seth(300)                        # 旋轉初始角度300°
    tu.goto(-100, 100)                  # 將畫筆移動到座標爲-100, 100的位置
    tu.down()                           # 畫筆繪製結束
    for i in range(5):                  # 循環5次
        tu.forward(20)                  # 向當前畫筆方向移動20像素長
        tu.right(144)                   # 順時針移動 144°
    tu.end_fill()                       # 填充完成
    time.sleep(1)

    tu.done()                         # 程序運行完後不退出

if __name__ == "__main__":
    HQDemo()

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章