官术网_书友最值得收藏!

1.3.4 編寫函數main()

函數main()創建并設置一個turtle對象,再調用drawKochSF()。

def main():
    print('Drawing the Koch Snowflake...')
 
    t = turtle.Turtle()
    t.hideturtle()
 
    # 繪制科赫雪花
    try:
      ? drawKochSF(-100, 0, 100, 0, t)
      ? drawKochSF(0, -173.2, -100, 0, t)
      ? drawKochSF(100, 0, 0, -173.2, t)
  ? except:
         print("Exception, exiting.")
         exit(0)
 
    # 等用戶在屏幕上單擊后退出
  ? turtle.Screen().exitonclick()

從圖 1.4 可知,要繪制3個片段,確保最終輸出為六角對稱的雪花圖形。為此,調用了drawKochSF() 3次:對于第1個片段,點A和點B的坐標分別為(?100, 0)和(100, 0)?;對于第2個片段,坐標為(0, ?173.2)和(?100, 0)?;對于第3個片段,坐標為(100, 0)和(0, ?173.2)?。請注意,這些坐標與前面在程序test_turtle.py中繪制三角形時使用的坐標相同。請嘗試確定這些坐標是如何計算出來的。(提示:

為捕獲繪圖期間可能發生的異常,將對函數drawKochSF()的調用放在一個Python try塊中。例如,用戶在繪圖期間關閉了窗口,將引發異常,可在except塊中捕獲此異常?,然后輸出一條消息并退出程序。如果用戶沒有終止繪圖過程,將執行代碼turtle.Screen().exitonclick()?,等待用戶單擊將窗口關閉。

主站蜘蛛池模板: 白银市| 彝良县| 利津县| 鄂州市| 繁峙县| 海南省| 江西省| 侯马市| 金乡县| 南投县| 兖州市| 宁南县| 二连浩特市| 阿拉善右旗| 米林县| 齐齐哈尔市| 汉沽区| 潼南县| 黄平县| 清丰县| 西和县| 连南| 克什克腾旗| 尼玛县| 高邑县| 定远县| 长泰县| 富裕县| 永修县| 永吉县| 伊宁县| 留坝县| 六枝特区| 凌云县| 额敏县| 安达市| 海淀区| 玉门市| 武隆县| 玉门市| 长海县|