且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《像计算机科学家一样思考Python》——4.12 练习

更新时间:2022-03-17 05:01:41

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.12节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

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。


《像计算机科学家一样思考Python》——4.12 练习

练习4-3

写一组合适的通用函数,用来画出图4-2所示的图形。

解答:http://thinkpython.com/code/pie.py


《像计算机科学家一样思考Python》——4.12 练习

练习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