Swampy程序包下载地址为:
http://thinkpython.com/swampy
Swampy中有个模块“乌龟世界”(TurtleWorld),提供各种函数,可以控制一只乌龟在屏幕爬行并画出其爬行轨迹。
TurtleWorld中提供了几个用来指挥乌龟的函数:
fd:前进 bk:后退 lt:左转 rt:右转
每只乌龟都拿着一只笔,笔可以朝上或朝下:pu:笔朝上 pd:笔朝下
若笔朝下,则会绘制出乌龟走过的轨迹。若笔朝上,则不会绘出轨迹,用于在到达指定位置前不绘出轨迹。
则绘出一个正方形的代码如下所示:
from swampy.TurtleWorld import *
world = TurtleWorld()
bob = Turtle()
for i in range(3):
fd(bob,100)
lt(bob)
fd(bob,100)
wait_for_user()
程序运行如下图所示:
写一个函数square ,接受一个形参 t,用来表示一只乌龟。利用乌龟来画一个正方形。写一个函数调用传入bob作为实参来调 用 square函数,并再运行一遍程序。
代码如下:
from swampy.TurtleWorld import *
world = TurtleWorld()
def square(t):
t=Turtle()
for i in range(3):
fd(t,100)
lt(t)
fd(t,100)
square('bob')
wait_for_user()
运行结果同上图。
给 square函数再添加一个形参 length。修改函数内容,保证正方形的长度是length,并修改函数调用以提供这第二个实参。再运行一遍程序。使用不同的length测试你的程序。
代码如下所示:
from swampy.TurtleWorld import *
world = TurtleWorld()
def square(t,length):
t = Turtle()
for i in range(3):
fd(t,length)
lt(t)
fd(t,length)
square('bob',190)
wait_for_user()
运行结果如下所示:
length设为190,可见正方形面积大了一圈。。。
3.函数 lt和 rt 默认会进行90度的拐弯。但也可以提供第二个形参指定转弯的角度。比如,lt(bob,45)会让bob左拐45度。
复制square函数,并命名为polygon。再添加一个形参n并修改函数体以绘制一个正n变形。
提示:正n边形的拐角是 360/n 度。
程序代码如下所示:
from swampy.TurtleWorld import *
world = TurtleWorld()
def polygon(t,length,n):
t = Turtle()
for i in range(n):
fd(t,length)
lt(t,360/n)
polygon('Bob',70,8)
wait_for_user()
测试n为8,程序运行结果如下图所示:
4.写一个函数 circle接受代表乌龟的形参 t,以及表示半径的形参 r,并使用合适的长度和边数调用 polygon画一个近似的圆。 使用不同的r值来测试你的函数。
提示:思考圆的周长(circumference),并保证 length * n = circumference。
另一个提示:如果你感觉bob太慢了,可以修改bob.delay来加速。bob.delay代表每次行动之间的停顿,单位是秒。
bob.delay代表每次行动之间的停顿,单位是秒。 bob. delay = 0.01应该能让他跑得足够快。
代码如下:
from swampy.TurtleWorld import *
from math import *
world = TurtleWorld()
def lines(t,n,length,angle):
for i in range(n):
fd(t,length)
lt(t,angle)
def circle(t,r):
t = Turtle()
t.delay = 0.01
circum = 2 * pi * r
n = int (circum/4)+1
length = circum / n
angle = 360.0 / n
lt(t,angle/2)
lines(t,n,length,angle)
rt(t,angle/2)
circle('bob',90)
wait_for_user()
运行结果如下:
5.给circle 函数写一个更通用的版本,成为arc。增加一个形参angle,用来表示画的圆弧的大小。这里 angle 的单位是度数,所以当 arc=360时,则会画一个整圆。
代码如下所示:
1 from swampy.TurtleWorld import *
2 from math import *
4 world = TurtleWorld()
6 def polyline(t,n,length,angle):
7 for i in range(n):
8 fd(t,length)
9 lt(t,angle)
11 def arc(t,r,angle):
12 length = 2 * pi * r * angle /360.0
13 n = int(length / 3) + 1
14 arc_length = length / n
15 arc_angle = float(angle) / n
16 polyline(t,n,arc_length,arc_angle)
18 bob = Turtle()
19 bob.delay = 0.01
20 arc(bob,70,270)
22 wait_for_user()
运行结果如下:
t=turtle.Pen() #创建一支画笔,注意“P”为大写
iCirclesCount=30
for x in range (iCirclesCount): #循环30次
t.circle(100) #画一个直.
think in python -4接口设计:本章引入了一个实例 来讲解接口方面的知识。准备工作:下载swampy模块,从地址下载,并安装,安装信息可以从网页上查看。swampy模块 提供各种函数,来让一只乌龟在频幕是爬行,并且画出它的爬行路线。开始使用别人的接口:from swampy.TurtleWorld import * #导入模块world = TurtleWorld() #使用该模...
1.Install Python
To see if you already have Python, open a terminal (Applications->Accessories->Terminal) and type python on the Linux command line. You should see something like this:
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15)>>>
If so, you have P
首先,你需要安装Python中的turtle模块。这个模块提供了一个简单的方法来创建绘图并在窗口中显示它们。
然后,你可以使用以下代码来绘制一只乌龟:
import turtle
# 创建一个新的乌龟
t = turtle.Turtle()
# 使用forward()函数前进
t.forward(100)
# 使用left()函数左转
t.left(90)
# 再次前进
t.forward...
本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.1节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。第4章 案例研究:接口设计4.1 乌龟世界程序包(package)是多个模块的组合;Swampy中有一个模块“乌龟世界”(TurtleWorld),它提供各种函数,可以引导一只乌龟在屏幕上爬行,并画出其踪迹。...
图书馆借了本书,一本好书《像计算机科学家一样思考Python》(Think Python)
TurtleWorld是作者 Allen B. Downey 写的一个包 swampy 里的一个模块,用来学习编程的。
这个包没有支持 Python3 直接下载安装,只提供了源文件。需要下载了之后调用。
其实官方网站有解释怎么安装,可是一下子就是看不懂。
Swampy for Python 3 ...
一、如何绘制一个任意大小的正方形:import turtle
bob=turtle.Turtle() #turtle模块提供了一个叫作Turtle的函数,用于创建一个Turtle对象
bob._delay=1
def square(t,length):
for i in range(4):
t.fd(length) #请求t去向前移动,fd的参数是移动的距离,以像素(...
源代码+代码解释+小结要用这个程序,首先需要下载一个叫swampy的包(package),也就是一个文件夹或者说是一套模块,其中包含了很多的函数。关于package的安装只需提一点,由于模块不大,最好直接安装默认的路径(也就是直接打开shell或者dos提示符的工作路径)里,确保只有一个叫swampy文件夹,里面都是相应的py文件。好,开始我们的问题,在书中的第四章,整章作为一个接口学习的案例。问...
swampy是《Think Python》一书中第四章需要用到的程序包,包含TurtleWorld等模块。
1 下载程序包swampy-2.1.7.zip,解压到E:\aboutpython\swampy-2.1.7文件夹。
(下载地址:https://pypi.org/project/swampy/#files)
2 使用Win+R打开运行窗口,输入CMD进入命令行窗口;
在命令行...
本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.1节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第4章 案例研究:接口设计
4.1 乌龟世界
程序包(package)是多个模块的组合;Swampy中有一个模块“乌龟世界”(TurtleWorld),它提供各种...
作者|黄伟呢整理|杨碧玉出品|数据分析与统计学之美(ID:gh_21c25c7e71d0)头图 | CSDN下载自视觉中国为什么要写这篇文章?最近有不少粉丝来问我,Pyt...
#quote from 'think python, how to think like a computer scientist'from swampy.TurtleWorld import *
world = TurtleWorld()
bob = Turtle()
print bob
for i in range(4):
fd(bob, 100)
lt(bob) #turn