上QQ阅读APP看书,第一时间看更新
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()❺,等待用户单击将窗口关闭。