4.12 练习
练习4-1
1.给函数polygon,arc和circle编写合适的文档字符串。
2.画一个栈图来显示函数circle(bob,radius)运行时的程序状态。你可以手动计算,或者在代码中添加一些print语句。
3.在4.7节中的arc函数并不准确,因为使用多边形模拟近似圆,总是会在真实的圆之外。因此,乌龟画完线之后会停在偏离正确的目标几个单位的地方。我的解决方案里展示了一种方法可以减少这种错误的效果。阅读代码并考虑是否合理。如果你自己画图,可能会发现它是如何生效的。
练习4-2
写一组合适的通用函数,用来画出图4-1所示的花朵图案。
解答:http://thinkpython.com/code/flower.py ,另外也需要http://thinkpython.com/code/ polygon.py。
练习4-3
写一组合适的通用函数,用来画出图4-2所示的图形。
解答:http://thinkpython.com/code/pie.py。
练习4-4
字母表中的字母可以使用一些基本元素来构成。如横线、竖线以及一些曲线。设计一个字体,可以使用最少的基本元素画出来,并编写函数来画出字母表中所有的字母。
你应当给每个字母单独写一个函数,名称为draw_a、draw_b等,并把这些函数放到letters.py文件中。可以从http://thinkpython.com/code/typewriter.py 下载一个“乌龟打字机”程序来帮助测试你的代码。
解答:http://thinkpython.com/code/letters.py ,另外也需要http://thinkpython.com/code/ polygon.py。
练习4-5
在http://en.wikipedia.org/wiki/Spiral 阅读关于螺旋线(spiral)的信息;接着编写一段程序来画出阿基米德螺旋(或者其他的某种螺旋线)。
解答:http://thinkpython.com/code/spiral.py。